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