Skip to content

Commit

Permalink
Fix after dependencies update
Browse files Browse the repository at this point in the history
  • Loading branch information
Nail Islamov committed Mar 9, 2017
1 parent 082aec9 commit 6cae2d0
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 44 deletions.
8 changes: 4 additions & 4 deletions cmd/main_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ import (
"time"

deployv1 "github.com/nilebox/k8s-deploy/pkg/apis/v1"
"k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/pkg/api"
"k8s.io/client-go/pkg/api/errors"
"k8s.io/client-go/pkg/api/unversioned"
apiv1 "k8s.io/client-go/pkg/api/v1"
)

Expand Down Expand Up @@ -57,7 +57,7 @@ func TestCanaryRelease(t *testing.T) {
replicas := int32(3)
// Create an instance of our TPR
release := &deployv1.Release{
TypeMeta: unversioned.TypeMeta{
TypeMeta: metav1.TypeMeta{
APIVersion: deployv1.ReleaseResourceGroupVersion,
Kind: deployv1.ReleaseResourceKind,
},
Expand All @@ -66,7 +66,7 @@ func TestCanaryRelease(t *testing.T) {
},
Spec: deployv1.ReleaseSpec{
Replicas: &replicas,
Selector: &unversioned.LabelSelector{
Selector: &metav1.LabelSelector{
MatchLabels: map[string]string{
"app": "k8s-deploy-test",
"version": "1.0",
Expand Down
22 changes: 11 additions & 11 deletions pkg/apis/v1/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ import (
"encoding/json"
"log"

"k8s.io/client-go/pkg/api/meta"
"k8s.io/client-go/pkg/api/unversioned"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/util/intstr"
apiv1 "k8s.io/client-go/pkg/api/v1"
v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1"
"k8s.io/client-go/pkg/util/intstr"
)

const (
Expand All @@ -25,7 +25,7 @@ const (

// Release enables declarative updates for Pods and ReplicaSets.
type Release struct {
unversioned.TypeMeta `json:",inline"`
metav1.TypeMeta `json:",inline"`
// Standard object metadata.
// +optional
apiv1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
Expand All @@ -48,7 +48,7 @@ type ReleaseSpec struct {
// Label selector for pods. Existing ReplicaSets whose pods are
// selected by this will be the ones affected by this release.
// +optional
Selector *unversioned.LabelSelector
Selector *metav1.LabelSelector

// Template describes the pods that will be created.
Template apiv1.PodTemplateSpec
Expand Down Expand Up @@ -148,32 +148,32 @@ type RollbackConfig struct {

// ReleaseList is a list of Releases.
type ReleaseList struct {
unversioned.TypeMeta `json:",inline"`
metav1.TypeMeta `json:",inline"`
// Standard list metadata.
// +optional
unversioned.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`

// Items is the list of Releases.
Items []Release `json:"items" protobuf:"bytes,2,rep,name=items"`
}

// Required to satisfy Object interface
func (e *Release) GetObjectKind() unversioned.ObjectKind {
func (e *Release) GetObjectKind() schema.ObjectKind {
return &e.TypeMeta
}

// Required to satisfy ObjectMetaAccessor interface
func (e *Release) GetObjectMeta() meta.Object {
func (e *Release) GetObjectMeta() metav1.Object {
return &e.ObjectMeta
}

// Required to satisfy Object interface
func (el *ReleaseList) GetObjectKind() unversioned.ObjectKind {
func (el *ReleaseList) GetObjectKind() schema.ObjectKind {
return &el.TypeMeta
}

// Required to satisfy ListMetaAccessor interface
func (el *ReleaseList) GetListMeta() unversioned.List {
func (el *ReleaseList) GetListMeta() metav1.List {
return &el.ListMeta
}

Expand Down
28 changes: 13 additions & 15 deletions pkg/app/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,19 @@ import (
"context"
"errors"
"log"
"time"

deployv1 "github.com/nilebox/k8s-deploy/pkg/apis/v1"
"github.com/nilebox/k8s-deploy/pkg/client"
"github.com/nilebox/k8s-deploy/pkg/release"

apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
fields "k8s.io/apimachinery/pkg/fields"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/watch"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/pkg/api"
apierrors "k8s.io/client-go/pkg/api/errors"
apiv1 "k8s.io/client-go/pkg/api/v1"
"k8s.io/client-go/pkg/apis/extensions/v1beta1"
fields "k8s.io/client-go/pkg/fields"
"k8s.io/client-go/pkg/runtime"
"k8s.io/client-go/pkg/watch"
"k8s.io/client-go/rest"
"k8s.io/client-go/tools/cache"
)
Expand Down Expand Up @@ -72,13 +71,13 @@ func (s *Server) Run(ctx context.Context) error {

func ensureReleaseResourceExists(clientset kubernetes.Interface) error {
// initialize third party resource if it does not exist
tpr, err := clientset.ExtensionsV1beta1().ThirdPartyResources().Get(deployv1.ReleaseResourceName)
tpr, err := clientset.ExtensionsV1beta1().ThirdPartyResources().Get(deployv1.ReleaseResourceName, metav1.GetOptions{})
if err != nil {
if apierrors.IsNotFound(err) {
log.Printf("NOT FOUND: releases TPR\n")

tpr := &v1beta1.ThirdPartyResource{
ObjectMeta: apiv1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Name: deployv1.ReleaseResourceName,
},
Versions: []v1beta1.APIVersion{
Expand All @@ -101,7 +100,7 @@ func ensureReleaseResourceExists(clientset kubernetes.Interface) error {
return nil
}

func watchReleases(ctx context.Context, releaseClient cache.Getter, releaseScheme *runtime.Scheme, handler *release.ReleaseEventHandler) (*cache.Controller, error) {
func watchReleases(ctx context.Context, releaseClient cache.Getter, releaseScheme *runtime.Scheme, handler *release.ReleaseEventHandler) (cache.Controller, error) {
parameterCodec := runtime.NewParameterCodec(releaseScheme)

// // Cannot use cache.NewListWatchFromClient() because it uses global api.ParameterCodec which uses global
Expand Down Expand Up @@ -132,13 +131,11 @@ func watchReleases(ctx context.Context, releaseClient cache.Getter, releaseSchem

// return releaseInformer, nil

var s fields.Selector
s = fields.Everything()
source := newListWatchFromClient(
releaseClient,
deployv1.ReleaseResourcePath,
api.NamespaceAll,
s,
fields.Everything(),
parameterCodec)

store, controller := cache.NewInformer(
Expand All @@ -150,7 +147,8 @@ func watchReleases(ctx context.Context, releaseClient cache.Getter, releaseSchem
// resyncPeriod
// Every resyncPeriod, all resources in the cache will retrigger events.
// Set to 0 to disable the resync.
time.Second*10,
//time.Second*10,
0,

// Your custom resource event handlers.
handler)
Expand All @@ -172,7 +170,7 @@ func watchReleases(ctx context.Context, releaseClient cache.Getter, releaseSchem

// newListWatchFromClient is a copy of cache.NewListWatchFromClient() method with custom codec
func newListWatchFromClient(c cache.Getter, resource string, namespace string, fieldSelector fields.Selector, paramCodec runtime.ParameterCodec) *cache.ListWatch {
listFunc := func(options api.ListOptions) (runtime.Object, error) {
listFunc := func(options metav1.ListOptions) (runtime.Object, error) {
return c.Get().
Namespace(namespace).
Resource(resource).
Expand All @@ -181,7 +179,7 @@ func newListWatchFromClient(c cache.Getter, resource string, namespace string, f
Do().
Get()
}
watchFunc := func(options api.ListOptions) (watch.Interface, error) {
watchFunc := func(options metav1.ListOptions) (watch.Interface, error) {
return c.Get().
Prefix("watch").
Namespace(namespace).
Expand Down
14 changes: 8 additions & 6 deletions pkg/client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,16 @@ package client

import (
deployv1 "github.com/nilebox/k8s-deploy/pkg/apis/v1"
"k8s.io/client-go/pkg/api"
"k8s.io/client-go/pkg/api/unversioned"
"k8s.io/client-go/pkg/runtime"
"k8s.io/client-go/pkg/runtime/serializer"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/runtime/serializer"
"k8s.io/client-go/rest"

metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

func NewClient(cfg *rest.Config) (*rest.RESTClient, *runtime.Scheme, error) {
groupVersion := unversioned.GroupVersion{
groupVersion := schema.GroupVersion{
Group: deployv1.ReleaseResourceGroup,
Version: deployv1.ReleaseResourceVersion,
}
Expand All @@ -20,7 +21,8 @@ func NewClient(cfg *rest.Config) (*rest.RESTClient, *runtime.Scheme, error) {
groupVersion,
&deployv1.Release{},
&deployv1.ReleaseList{},
&api.ListOptions{},
&metav1.ListOptions{},
&metav1.DeleteOptions{},
)
return nil
})
Expand Down
16 changes: 8 additions & 8 deletions pkg/release/strategy/canary.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import (
"log"

deployv1 "github.com/nilebox/k8s-deploy/pkg/apis/v1"
apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/kubernetes"
apierrors "k8s.io/client-go/pkg/api/errors"
"k8s.io/client-go/pkg/api/unversioned"
apiv1 "k8s.io/client-go/pkg/api/v1"
v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1"
)
Expand All @@ -22,7 +22,7 @@ func (c *Canary) Run(release *deployv1.Release) error {

// First ensure that canary deployment object exists
canaryDeployment := &v1beta1.Deployment{
ObjectMeta: apiv1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Namespace: release.ObjectMeta.Namespace,
Name: release.ObjectMeta.Name + "-canary",
},
Expand All @@ -41,7 +41,7 @@ func (c *Canary) Run(release *deployv1.Release) error {

// Check if stable deployment object exists too
stableDeployment := &v1beta1.Deployment{
ObjectMeta: apiv1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Namespace: release.ObjectMeta.Namespace,
Name: release.ObjectMeta.Name + "-stable",
},
Expand All @@ -60,15 +60,15 @@ func (c *Canary) Run(release *deployv1.Release) error {
return err
}

func (c *Canary) selectorWithLabel(selector *unversioned.LabelSelector, labelName string, labelValue string) *unversioned.LabelSelector {
return &unversioned.LabelSelector{
func (c *Canary) selectorWithLabel(selector *metav1.LabelSelector, labelName string, labelValue string) *metav1.LabelSelector {
return &metav1.LabelSelector{
MatchLabels: c.copyMapWithLabel(selector.MatchLabels, labelName, labelValue),
}
}

func (c *Canary) podTemplateWithLabel(template apiv1.PodTemplateSpec, labelName string, labelValue string) apiv1.PodTemplateSpec {
return apiv1.PodTemplateSpec{
ObjectMeta: apiv1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Labels: c.copyMapWithLabel(template.ObjectMeta.Labels, labelName, labelValue),
},
Spec: template.Spec,
Expand All @@ -87,7 +87,7 @@ func (c *Canary) copyMapWithLabel(originalMap map[string]string, labelName strin
func (c *Canary) ensureDeploymentExists(deployment *v1beta1.Deployment) error {
// initialize third party resource if it does not exist
deployments := c.Clientset.ExtensionsV1beta1().Deployments(deployment.ObjectMeta.Namespace)
existing, err := deployments.Get(deployment.ObjectMeta.Name)
existing, err := deployments.Get(deployment.ObjectMeta.Name, metav1.GetOptions{})
if err != nil {
if apierrors.IsNotFound(err) {
log.Printf("NOT FOUND: deployment %s", deployment.ObjectMeta.Name)
Expand Down

0 comments on commit 6cae2d0

Please sign in to comment.