merge with master

This commit is contained in:
Murat Kabilov 2017-07-24 21:42:57 +02:00
parent 035069137a
commit b2a882f9fd
7 changed files with 11 additions and 11 deletions

View File

@ -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)

View File

@ -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()

View File

@ -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).

View File

@ -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,
} }
} }

View File

@ -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)

View File

@ -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"

View File

@ -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
} }