2016-08-19 17:14:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								package   kubernetes 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import   ( 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									 "net" 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									 "strings" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 "testing" 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									 "time" 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-08-19 17:14:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									 "github.com/mholt/caddy" 
  
						 
					
						
							
								
									
										
										
										
											2016-11-05 07:57:08 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									 unversionedapi   "k8s.io/client-go/1.5/pkg/api/unversioned" 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								func   parseCidr ( cidr   string )   net . IPNet   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 _ ,   ipnet ,   _   :=   net . ParseCIDR ( cidr ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 return   * ipnet 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								func   TestKubernetesParse ( t   * testing . T )   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 tests   :=   [ ] struct   { 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 input                   string          // Corefile data as string 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 shouldErr               bool            // true if test case is exected to produce an error. 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 expectedErrContent      string          // substring from the expected error. Empty for positive cases. 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 expectedZoneCount       int             // expected count of defined zones. 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 expectedNSCount         int             // expected count of namespaces. 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 expectedResyncPeriod    time . Duration   // expected resync period value 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 expectedLabelSelector   string          // expected label selector value 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 expectedPodMode         string 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 expectedCidrs           [ ] net . IPNet 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 expectedFallthrough     bool 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 expectedUpstreams       [ ] string 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									 } { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 // positive 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 ` kubernetes coredns.local ` , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-06 05:54:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 PodModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 ` kubernetes coredns.local test.local ` , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 2 , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-06 05:54:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 PodModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-06 05:54:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 PodModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									 endpoint   http : //localhost:9090 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-06 05:54:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 PodModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 namespaces   demo 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-06 05:54:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 PodModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 namespaces   demo   test 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 2 , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-06 05:54:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 PodModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     resyncperiod   30 s 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 30   *   time . Second , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-06 05:54:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 PodModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     resyncperiod   15 m 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 15   *   time . Minute , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-06 05:54:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 PodModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     labels   environment = prod 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "environment=prod" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-06 05:54:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 PodModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     labels   environment   in   ( production ,   staging ,   qa ) , application = nginx 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "application=nginx,environment in (production,qa,staging)" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-06 05:54:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 PodModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   test . local   { 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								     resyncperiod   15 m 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									 endpoint   http : //localhost:8080 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 namespaces   demo   test 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								     labels   environment   in   ( production ,   staging ,   qa ) , application = nginx 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								     fallthrough 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 2 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 2 , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 15   *   time . Minute , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "application=nginx,environment in (production,qa,staging)" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-06 05:54:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 PodModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 true , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										 // negative 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 true , 
  
						 
					
						
							
								
									
										
										
										
											2017-06-14 09:37:10 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "kubernetes setup called without keyword 'kubernetes' in Corefile" , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 - 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 - 1 , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-06 05:54:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 PodModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     endpoint 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 true , 
  
						 
					
						
							
								
									
										
										
										
											2017-06-14 09:37:10 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "rong argument count or unexpected line ending" , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											 - 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 - 1 , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-06 05:54:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 PodModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 namespaces 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 true , 
  
						 
					
						
							
								
									
										
										
										
											2017-06-14 09:37:10 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "rong argument count or unexpected line ending" , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 - 1 , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											 - 1 , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-06 05:54:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 PodModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     resyncperiod 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 true , 
  
						 
					
						
							
								
									
										
										
										
											2017-06-14 09:37:10 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "rong argument count or unexpected line ending" , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 - 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0   *   time . Minute , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-06 05:54:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 PodModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     resyncperiod   15 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 true , 
  
						 
					
						
							
								
									
										
										
										
											2017-06-14 09:37:10 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "unable to parse resync duration value" , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 - 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0   *   time . Second , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-06 05:54:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 PodModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     resyncperiod   abc 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 true , 
  
						 
					
						
							
								
									
										
										
										
											2017-06-14 09:37:10 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "unable to parse resync duration value" , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 - 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0   *   time . Second , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-06 05:54:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 PodModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     labels 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 true , 
  
						 
					
						
							
								
									
										
										
										
											2017-06-14 09:37:10 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "rong argument count or unexpected line ending" , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 - 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0   *   time . Second , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-06 05:54:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 PodModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     labels   environment   in   ( production ,   qa 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 true , 
  
						 
					
						
							
								
									
										
										
										
											2017-06-14 09:37:10 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "unable to parse label selector" , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 - 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0   *   time . Second , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-06 05:54:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 PodModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 // pods disabled 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 pods   disabled 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 PodModeDisabled , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 // pods insecure 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 pods   insecure 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 PodModeInsecure , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 // pods verified 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 pods   verified 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 PodModeVerified , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 // pods invalid 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 pods   giant_seed 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 true , 
  
						 
					
						
							
								
									
										
										
										
											2017-06-14 09:37:10 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "rong value for pods" , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 - 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 PodModeVerified , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 // cidrs ok 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 cidrs   10.0 .0 .0 / 24   10.0 .1 .0 / 24 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-06 05:54:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 PodModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 [ ] net . IPNet { parseCidr ( "10.0.0.0/24" ) ,   parseCidr ( "10.0.1.0/24" ) } , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 // cidrs ok 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 cidrs   hard   dry 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 true , 
  
						 
					
						
							
								
									
										
										
										
											2017-06-14 09:37:10 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "invalid cidr: hard" , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 - 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-06 05:54:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 PodModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 // fallthrough invalid 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 fallthrough   junk 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 true , 
  
						 
					
						
							
								
									
										
										
										
											2017-06-14 09:37:10 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "rong argument count" , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 - 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-06 05:54:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 PodModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 // Valid upstream 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 upstream   13.14 .15 .16 : 53 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-06 05:54:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 PodModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 [ ] string { "13.14.15.16:53" } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 // Invalid upstream 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 upstream   13.14 .15 .16 orange 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 true , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "not an IP address or file: \"13.14.15.16orange\"" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 - 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-06 05:54:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 PodModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 for   i ,   test   :=   range   tests   { 
  
						 
					
						
							
								
									
										
										
										
											2016-08-19 17:14:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 c   :=   caddy . NewTestController ( "dns" ,   test . input ) 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										 k8sController ,   err   :=   kubernetesParse ( c ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 if   test . shouldErr   &&   err   ==   nil   { 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 t . Errorf ( "Test %d: Expected error, but did not find error for input '%s'. Error was: '%v'" ,   i ,   test . input ,   err ) 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 if   err   !=   nil   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 if   ! test . shouldErr   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 t . Errorf ( "Test %d: Expected no error but found one for input %s. Error was: %v" ,   i ,   test . input ,   err ) 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												 continue 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 if   test . shouldErr   &&   ( len ( test . expectedErrContent )   <   1 )   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 t . Fatalf ( "Test %d: Test marked as expecting an error, but no expectedErrContent provided for input '%s'. Error was: '%v'" ,   i ,   test . input ,   err ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 if   test . shouldErr   &&   ( test . expectedZoneCount   >=   0 )   { 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												 t . Errorf ( "Test %d: Test marked as expecting an error, but provides value for expectedZoneCount!=-1 for input '%s'. Error was: '%v'" ,   i ,   test . input ,   err ) 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 if   ! strings . Contains ( err . Error ( ) ,   test . expectedErrContent )   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 t . Errorf ( "Test %d: Expected error to contain: %v, found error: %v, input: %s" ,   i ,   test . expectedErrContent ,   err ,   test . input ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 } 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 continue 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 // No error was raised, so validate initialization of k8sController 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 //     Zones 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 foundZoneCount   :=   len ( k8sController . Zones ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 if   foundZoneCount   !=   test . expectedZoneCount   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 t . Errorf ( "Test %d: Expected kubernetes controller to be initialized with %d zones, instead found %d zones: '%v' for input '%s'" ,   i ,   test . expectedZoneCount ,   foundZoneCount ,   k8sController . Zones ,   test . input ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 //    Namespaces 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 foundNSCount   :=   len ( k8sController . Namespaces ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 if   foundNSCount   !=   test . expectedNSCount   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 t . Errorf ( "Test %d: Expected kubernetes controller to be initialized with %d namespaces. Instead found %d namespaces: '%v' for input '%s'" ,   i ,   test . expectedNSCount ,   foundNSCount ,   k8sController . Namespaces ,   test . input ) 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 //    ResyncPeriod 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 foundResyncPeriod   :=   k8sController . ResyncPeriod 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 if   foundResyncPeriod   !=   test . expectedResyncPeriod   { 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 t . Errorf ( "Test %d: Expected kubernetes controller to be initialized with resync period '%s'. Instead found period '%s' for input '%s'" ,   i ,   test . expectedResyncPeriod ,   foundResyncPeriod ,   test . input ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 //    Labels 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 if   k8sController . LabelSelector   !=   nil   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 foundLabelSelectorString   :=   unversionedapi . FormatLabelSelector ( k8sController . LabelSelector ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 if   foundLabelSelectorString   !=   test . expectedLabelSelector   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 t . Errorf ( "Test %d: Expected kubernetes controller to be initialized with label selector '%s'. Instead found selector '%s' for input '%s'" ,   i ,   test . expectedLabelSelector ,   foundLabelSelectorString ,   test . input ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 } 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										 } 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 //    Pods 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 foundPodMode   :=   k8sController . PodMode 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 if   foundPodMode   !=   test . expectedPodMode   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 t . Errorf ( "Test %d: Expected kubernetes controller to be initialized with pod mode '%s'. Instead found pod mode '%s' for input '%s'" ,   i ,   test . expectedPodMode ,   foundPodMode ,   test . input ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 //    Cidrs 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 foundCidrs   :=   k8sController . ReverseCidrs 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 if   len ( foundCidrs )   !=   len ( test . expectedCidrs )   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 t . Errorf ( "Test %d: Expected kubernetes controller to be initialized with %d cidrs. Instead found %d cidrs for input '%s'" ,   i ,   len ( test . expectedCidrs ) ,   len ( foundCidrs ) ,   test . input ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 for   j ,   cidr   :=   range   test . expectedCidrs   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 if   cidr . String ( )   !=   foundCidrs [ j ] . String ( )   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 t . Errorf ( "Test %d: Expected kubernetes controller to be initialized with cidr '%s'. Instead found cidr '%s' for input '%s'" ,   i ,   test . expectedCidrs [ j ] . String ( ) ,   foundCidrs [ j ] . String ( ) ,   test . input ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 } 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 // fallthrough 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 foundFallthrough   :=   k8sController . Fallthrough 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 if   foundFallthrough   !=   test . expectedFallthrough   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 t . Errorf ( "Test %d: Expected kubernetes controller to be initialized with fallthrough '%v'. Instead found fallthrough '%v' for input '%s'" ,   i ,   test . expectedFallthrough ,   foundFallthrough ,   test . input ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 } 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 // upstream 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 foundUpstreams   :=   k8sController . Proxy . Upstreams 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 if   test . expectedUpstreams   ==   nil   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 if   foundUpstreams   !=   nil   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 t . Errorf ( "Test %d: Expected kubernetes controller to not be initialized with upstreams for input '%s'" ,   i ,   test . input ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 }   else   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 if   foundUpstreams   ==   nil   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 t . Errorf ( "Test %d: Expected kubernetes controller to be initialized with upstreams for input '%s'" ,   i ,   test . input ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 }   else   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 if   len ( * foundUpstreams )   !=   len ( test . expectedUpstreams )   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													 t . Errorf ( "Test %d: Expected kubernetes controller to be initialized with %d upstreams. Instead found %d upstreams for input '%s'" ,   i ,   len ( test . expectedUpstreams ) ,   len ( * foundUpstreams ) ,   test . input ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 for   j ,   want   :=   range   test . expectedUpstreams   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													 got   :=   ( * foundUpstreams ) [ j ] . Select ( ) . Name 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													 if   got   !=   want   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														 t . Errorf ( "Test %d: Expected kubernetes controller to be initialized with upstream '%s'. Instead found upstream '%s' for input '%s'" ,   i ,   want ,   got ,   test . input ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 } 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} 
  
						 
					
						
							
								
									
										
										
										
											2017-08-11 12:50:12 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func   TestKubernetesParseFederation ( t   * testing . T )   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 tests   :=   [ ] struct   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 input                 string   // Corefile data as string 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 shouldErr             bool     // true if test case is exected to produce an error. 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 expectedErrContent    string   // substring from the expected error. Empty for positive cases. 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 expectedFederations   [ ] Federation 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 } { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 // Valid federations 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 federation   foo   bar . crawl . com 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 federation   fed   era . tion . com 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 [ ] Federation { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 { name :   "foo" ,   zone :   "bar.crawl.com" } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 { name :   "fed" ,   zone :   "era.tion.com" } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 // Invalid federations 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 federation   starship 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 true , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` incorrect number of arguments for federation ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 [ ] Federation { } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 for   i ,   test   :=   range   tests   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 c   :=   caddy . NewTestController ( "dns" ,   test . input ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 k8sController ,   err   :=   kubernetesParse ( c ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 if   test . shouldErr   &&   err   ==   nil   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 t . Errorf ( "Test %d: Expected error, but did not find error for input '%s'. Error was: '%v'" ,   i ,   test . input ,   err ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 if   err   !=   nil   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 if   ! test . shouldErr   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 t . Errorf ( "Test %d: Expected no error but found one for input %s. Error was: %v" ,   i ,   test . input ,   err ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 continue 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 if   test . shouldErr   &&   ( len ( test . expectedErrContent )   <   1 )   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 t . Fatalf ( "Test %d: Test marked as expecting an error, but no expectedErrContent provided for input '%s'. Error was: '%v'" ,   i ,   test . input ,   err ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 if   ! strings . Contains ( err . Error ( ) ,   test . expectedErrContent )   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 t . Errorf ( "Test %d: Expected error to contain: %v, found error: %v, input: %s" ,   i ,   test . expectedErrContent ,   err ,   test . input ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 continue 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 foundFed   :=   k8sController . Federations 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 if   len ( foundFed )   !=   len ( test . expectedFederations )   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 t . Errorf ( "Test %d: Expected kubernetes controller to be initialized with %d fedrations. Instead found %d fedrations for input '%s'" ,   i ,   len ( test . expectedFederations ) ,   len ( foundFed ) ,   test . input ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 for   j ,   fed   :=   range   test . expectedFederations   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 if   fed   !=   foundFed [ j ]   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 t . Errorf ( "Test %d: Expected kubernetes controller to be initialized with federation '%s'. Instead found federation '%s' for input '%s'" ,   i ,   test . expectedFederations [ j ] ,   foundFed [ j ] ,   test . input ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}