merge with master
This commit is contained in:
		
							parent
							
								
									035069137a
								
							
						
					
					
						commit
						b2a882f9fd
					
				|  | @ -58,7 +58,7 @@ func main() { | ||||||
| 		log.Fatalf("couldn't get REST config: %v", err) | 		log.Fatalf("couldn't get REST config: %v", err) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	c := controller.New(&config) | 	c := controller.NewController(&config) | ||||||
| 
 | 
 | ||||||
| 	c.Run(stop, wg) | 	c.Run(stop, wg) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -13,7 +13,6 @@ import ( | ||||||
| 	"github.com/Sirupsen/logrus" | 	"github.com/Sirupsen/logrus" | ||||||
| 	meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" | 	meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" | ||||||
| 	"k8s.io/apimachinery/pkg/types" | 	"k8s.io/apimachinery/pkg/types" | ||||||
| 	"k8s.io/client-go/pkg/api" |  | ||||||
| 	"k8s.io/client-go/pkg/api/v1" | 	"k8s.io/client-go/pkg/api/v1" | ||||||
| 	"k8s.io/client-go/pkg/apis/apps/v1beta1" | 	"k8s.io/client-go/pkg/apis/apps/v1beta1" | ||||||
| 	"k8s.io/client-go/rest" | 	"k8s.io/client-go/rest" | ||||||
|  | @ -127,7 +126,7 @@ func (c *Cluster) setStatus(status spec.PostgresStatus) { | ||||||
| 	} | 	} | ||||||
| 	request := []byte(fmt.Sprintf(`{"status": %s}`, string(b))) //TODO: Look into/wait for k8s go client methods
 | 	request := []byte(fmt.Sprintf(`{"status": %s}`, string(b))) //TODO: Look into/wait for k8s go client methods
 | ||||||
| 
 | 
 | ||||||
| 	_, err = c.KubeClient.CoreV1().RESTClient().Patch(types.MergePatchType). | 	_, err = c.KubeClient.RESTClient.Patch(types.MergePatchType). | ||||||
| 		RequestURI(c.Metadata.GetSelfLink()). | 		RequestURI(c.Metadata.GetSelfLink()). | ||||||
| 		Body(request). | 		Body(request). | ||||||
| 		DoRaw() | 		DoRaw() | ||||||
|  |  | ||||||
|  | @ -28,7 +28,7 @@ func (c *Cluster) ExecCommand(podName *spec.NamespacedName, command ...string) ( | ||||||
| 		return "", fmt.Errorf("could not determine which container to use") | 		return "", fmt.Errorf("could not determine which container to use") | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	req := c.KubeClient.CoreV1().RESTClient().Post(). | 	req := c.KubeClient.RESTClient.Post(). | ||||||
| 		Resource("pods"). | 		Resource("pods"). | ||||||
| 		Name(podName.Name). | 		Name(podName.Name). | ||||||
| 		Namespace(podName.Namespace). | 		Namespace(podName.Namespace). | ||||||
|  |  | ||||||
|  | @ -6,7 +6,6 @@ import ( | ||||||
| 
 | 
 | ||||||
| 	"github.com/Sirupsen/logrus" | 	"github.com/Sirupsen/logrus" | ||||||
| 	meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" | 	meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" | ||||||
| 	"k8s.io/client-go/kubernetes" |  | ||||||
| 	"k8s.io/client-go/pkg/api/v1" | 	"k8s.io/client-go/pkg/api/v1" | ||||||
| 	"k8s.io/client-go/rest" | 	"k8s.io/client-go/rest" | ||||||
| 	"k8s.io/client-go/tools/cache" | 	"k8s.io/client-go/tools/cache" | ||||||
|  | @ -35,7 +34,7 @@ type Controller struct { | ||||||
| 	opConfig *config.Config | 	opConfig *config.Config | ||||||
| 	logger   *logrus.Entry | 	logger   *logrus.Entry | ||||||
| 
 | 
 | ||||||
| 	KubeClient     *kubernetes.Clientset | 	KubeClient     k8sutil.KubernetesClient | ||||||
| 	RestClient     rest.Interface | 	RestClient     rest.Interface | ||||||
| 	TeamsAPIClient *teams.API | 	TeamsAPIClient *teams.API | ||||||
| 
 | 
 | ||||||
|  | @ -56,7 +55,7 @@ func NewController(controllerConfig *Config) *Controller { | ||||||
| 	configMapData := make(map[string]string) | 	configMapData := make(map[string]string) | ||||||
| 	logger := logrus.New() | 	logger := logrus.New() | ||||||
| 
 | 
 | ||||||
| 	client, err := k8sutil.KubernetesClient(controllerConfig.RestConfig) | 	client, err := k8sutil.ClientSet(controllerConfig.RestConfig) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		logger.Fatalf("couldn't create client: %v", err) | 		logger.Fatalf("couldn't create client: %v", err) | ||||||
| 	} | 	} | ||||||
|  | @ -102,7 +101,7 @@ func NewController(controllerConfig *Config) *Controller { | ||||||
| 		stopChs:        make(map[spec.NamespacedName]chan struct{}), | 		stopChs:        make(map[spec.NamespacedName]chan struct{}), | ||||||
| 		podCh:          make(chan spec.PodEvent), | 		podCh:          make(chan spec.PodEvent), | ||||||
| 		TeamsAPIClient: teams.NewTeamsAPI(operatorConfig.TeamsAPIUrl, logger), | 		TeamsAPIClient: teams.NewTeamsAPI(operatorConfig.TeamsAPIUrl, logger), | ||||||
| 		KubeClient:     client, | 		KubeClient:     k8sutil.NewFromKubernetesInterface(client), | ||||||
| 		RestClient:     restClient, | 		RestClient:     restClient, | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -48,7 +48,7 @@ func (c *Controller) clusterWorkerID(clusterName spec.NamespacedName) uint32 { | ||||||
| func (c *Controller) createTPR() error { | func (c *Controller) createTPR() error { | ||||||
| 	tpr := thirdPartyResource(constants.TPRName) | 	tpr := thirdPartyResource(constants.TPRName) | ||||||
| 
 | 
 | ||||||
| 	_, err := c.KubeClient.ExtensionsV1beta1().ThirdPartyResources().Create(tpr) | 	_, err := c.KubeClient.ThirdPartyResources().Create(tpr) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		if !k8sutil.ResourceAlreadyExists(err) { | 		if !k8sutil.ResourceAlreadyExists(err) { | ||||||
| 			return err | 			return err | ||||||
|  | @ -69,7 +69,7 @@ func (c *Controller) getInfrastructureRoles(rolesSecret *spec.NamespacedName) (r | ||||||
| 
 | 
 | ||||||
| 	infraRolesSecret, err := c.KubeClient. | 	infraRolesSecret, err := c.KubeClient. | ||||||
| 		Secrets(rolesSecret.Namespace). | 		Secrets(rolesSecret.Namespace). | ||||||
| 		Get(rolesSecret.Name) | 		Get(rolesSecret.Name, meta_v1.GetOptions{}) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		c.logger.Debugf("Infrastructure roles secret name: %q", *rolesSecret) | 		c.logger.Debugf("Infrastructure roles secret name: %q", *rolesSecret) | ||||||
| 		return nil, fmt.Errorf("could not get infrastructure roles secret: %v", err) | 		return nil, fmt.Errorf("could not get infrastructure roles secret: %v", err) | ||||||
|  |  | ||||||
|  | @ -1,9 +1,9 @@ | ||||||
| package spec | package spec | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
|  | 	"database/sql" | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"strings" | 	"strings" | ||||||
| 	"database/sql" |  | ||||||
| 
 | 
 | ||||||
| 	"k8s.io/apimachinery/pkg/types" | 	"k8s.io/apimachinery/pkg/types" | ||||||
| 	"k8s.io/client-go/pkg/api/v1" | 	"k8s.io/client-go/pkg/api/v1" | ||||||
|  |  | ||||||
|  | @ -28,6 +28,7 @@ type KubernetesClient struct { | ||||||
| 	v1core.ConfigMapsGetter | 	v1core.ConfigMapsGetter | ||||||
| 	v1beta1.StatefulSetsGetter | 	v1beta1.StatefulSetsGetter | ||||||
| 	extensions.ThirdPartyResourcesGetter | 	extensions.ThirdPartyResourcesGetter | ||||||
|  | 	RESTClient rest.Interface | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func NewFromKubernetesInterface(src kubernetes.Interface) (c KubernetesClient) { | func NewFromKubernetesInterface(src kubernetes.Interface) (c KubernetesClient) { | ||||||
|  | @ -41,6 +42,7 @@ func NewFromKubernetesInterface(src kubernetes.Interface) (c KubernetesClient) { | ||||||
| 	c.PersistentVolumesGetter = src.CoreV1() | 	c.PersistentVolumesGetter = src.CoreV1() | ||||||
| 	c.StatefulSetsGetter = src.AppsV1beta1() | 	c.StatefulSetsGetter = src.AppsV1beta1() | ||||||
| 	c.ThirdPartyResourcesGetter = src.ExtensionsV1beta1() | 	c.ThirdPartyResourcesGetter = src.ExtensionsV1beta1() | ||||||
|  | 	c.RESTClient = src.CoreV1().RESTClient() | ||||||
| 	return | 	return | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue