Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
193 changes: 101 additions & 92 deletions Gopkg.lock

Large diffs are not rendered by default.

16 changes: 8 additions & 8 deletions Gopkg.toml
Original file line number Diff line number Diff line change
@@ -1,34 +1,34 @@
[[override]]
name = "k8s.io/api"
version = "kubernetes-1.13.1"
version = "kubernetes-1.13.4"

[[override]]
name = "k8s.io/apimachinery"
version = "kubernetes-1.13.1"
version = "kubernetes-1.13.4"

[[override]]
name = "k8s.io/apiextensions-apiserver"
version = "kubernetes-1.13.1"
version = "kubernetes-1.13.4"

[[override]]
name = "k8s.io/apiserver"
version = "kubernetes-1.13.1"
version = "kubernetes-1.13.4"

[[override]]
name = "k8s.io/client-go"
version = "kubernetes-1.13.1"
version = "kubernetes-1.13.4"

[[override]]
name = "k8s.io/cli-runtime"
version = "kubernetes-1.13.1"
version = "kubernetes-1.13.4"

[[override]]
name = "k8s.io/kube-openapi"
revision = "0cf8f7e6ed1d2e3d47d02e3b6e559369af24d803"

[[constraint]]
name = "sigs.k8s.io/controller-runtime"
version = "=v0.1.10"
version = "=v0.2.0-alpha.0"

# This override revision has a fix that allows CRD unit tests to run correctly.
# Remove once v0.1.11 is released.
Expand All @@ -51,7 +51,7 @@
[[override]]
name = "k8s.io/kube-aggregator"
# Required for operator-lifecycle-manager version compatibility.
version = "kubernetes-1.13.1"
version = "kubernetes-1.13.4"

[[constraint]]
name = "github.com/sirupsen/logrus"
Expand Down
9 changes: 7 additions & 2 deletions example/memcached-operator/memcached_controller.go.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -142,8 +142,13 @@ func (r *ReconcileMemcached) Reconcile(request reconcile.Request) (reconcile.Res
// List the pods for this memcached's deployment
podList := &corev1.PodList{}
labelSelector := labels.SelectorFromSet(labelsForMemcached(memcached.Name))
listOps := &client.ListOptions{Namespace: memcached.Namespace, LabelSelector: labelSelector}
err = r.client.List(context.TODO(), listOps, podList)
//listOps := &client.ListOptions{Namespace: memcached.Namespace, LabelSelector: labelSelector}
p := []client.ListOptionFunc{client.InNamespace(memcached.Namespace)}
lbs := labelsForMemcached(memcached.Name)
if len(lbs) > 0 {
p = append(p, client.MatchingLabels(lbs))
}
err = r.client.List(context.TODO(), podList, p...)
if err != nil {
reqLogger.Error(err, "Failed to list pods", "Memcached.Namespace", memcached.Namespace, "Memcached.Name", memcached.Name)
return reconcile.Result{}, err
Expand Down
22 changes: 9 additions & 13 deletions internal/pkg/scaffold/gopkgtoml.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,7 @@ required = [

[[override]]
name = "k8s.io/code-generator"
# revision for tag "kubernetes-1.13.1"
revision = "c2090bec4d9b1fb25de3812f868accc2bc9ecbae"
version = "kubernetes-1.13.4"

[[override]]
name = "k8s.io/kube-openapi"
Expand All @@ -62,40 +61,37 @@ required = [

[[override]]
name = "sigs.k8s.io/controller-tools"
revision = "9d55346c2bde73fb3326ac22eac2e5210a730207"
version = "kubernetes-1.13.4"

[[override]]
name = "k8s.io/api"
# revision for tag "kubernetes-1.13.1"
revision = "05914d821849570fba9eacfb29466f2d8d3cd229"
version = "kubernetes-1.13.4"

[[override]]
name = "k8s.io/apiextensions-apiserver"
# revision for tag "kubernetes-1.13.1"
revision = "0fe22c71c47604641d9aa352c785b7912c200562"
version = "kubernetes-1.13.4"

[[override]]
name = "k8s.io/apimachinery"
# revision for tag "kubernetes-1.13.1"
revision = "2b1284ed4c93a43499e781493253e2ac5959c4fd"
version = "kubernetes-1.13.4"

[[override]]
name = "k8s.io/client-go"
# revision for tag "kubernetes-1.13.1"
revision = "8d9ed539ba3134352c586810e749e58df4e94e4f"
version = "kubernetes-1.13.4"

[[override]]
name = "github.com/coreos/prometheus-operator"
version = "=v0.29.0"

[[override]]
name = "sigs.k8s.io/controller-runtime"
version = "=v0.1.10"
version = "=v0.2.0-alpha.0"

[[constraint]]
name = "github.com/operator-framework/operator-sdk"
# The version rule is used for a specific release and the master branch for in between releases.
branch = "master" #osdk_branch_annotation
source = "github.com/corinnekrych/operator-sdk"
branch = "controller-runtime-0.2.0-alpha0-vendor" #osdk_branch_annotation
# version = "=v0.7.0" #osdk_version_annotation

[prune]
Expand Down
20 changes: 8 additions & 12 deletions internal/pkg/scaffold/gopkgtoml_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,7 @@ required = [

[[override]]
name = "k8s.io/code-generator"
# revision for tag "kubernetes-1.13.1"
revision = "c2090bec4d9b1fb25de3812f868accc2bc9ecbae"
version = "kubernetes-1.13.4"

[[override]]
name = "k8s.io/kube-openapi"
Expand All @@ -64,36 +63,33 @@ required = [

[[override]]
name = "k8s.io/api"
# revision for tag "kubernetes-1.13.1"
revision = "05914d821849570fba9eacfb29466f2d8d3cd229"
version = "kubernetes-1.13.4"

[[override]]
name = "k8s.io/apiextensions-apiserver"
# revision for tag "kubernetes-1.13.1"
revision = "0fe22c71c47604641d9aa352c785b7912c200562"
version = "kubernetes-1.13.4"

[[override]]
name = "k8s.io/apimachinery"
# revision for tag "kubernetes-1.13.1"
revision = "2b1284ed4c93a43499e781493253e2ac5959c4fd"
version = "kubernetes-1.13.4"

[[override]]
name = "k8s.io/client-go"
# revision for tag "kubernetes-1.13.1"
revision = "8d9ed539ba3134352c586810e749e58df4e94e4f"
version = "kubernetes-1.13.4"

[[override]]
name = "github.com/coreos/prometheus-operator"
version = "=v0.29.0"

[[override]]
name = "sigs.k8s.io/controller-runtime"
version = "=v0.1.10"
version = "=v0.2.0-alpha.0"

[[constraint]]
name = "github.com/operator-framework/operator-sdk"
# The version rule is used for a specific release and the master branch for in between releases.
branch = "master" #osdk_branch_annotation
source = "github.com/corinnekrych/operator-sdk"
branch = "controller-runtime-0.2.0-alpha0-vendor" #osdk_branch_annotation
# version = "=v0.7.0" #osdk_version_annotation

[prune]
Expand Down
2 changes: 1 addition & 1 deletion internal/pkg/scaffold/register.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ package {{.Resource.Version}}

import (
"k8s.io/apimachinery/pkg/runtime/schema"
"sigs.k8s.io/controller-runtime/pkg/runtime/scheme"
"sigs.k8s.io/controller-runtime/pkg/scheme"
)

var (
Expand Down
2 changes: 1 addition & 1 deletion internal/pkg/scaffold/register_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ package v1alpha1

import (
"k8s.io/apimachinery/pkg/runtime/schema"
"sigs.k8s.io/controller-runtime/pkg/runtime/scheme"
"sigs.k8s.io/controller-runtime/pkg/scheme"
)

var (
Expand Down
2 changes: 1 addition & 1 deletion internal/pkg/scorecard/resource_handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ func getPodFromDeployment(depName, namespace string) (pod *v1.Pod, err error) {
// instead of the new one.
err = wait.PollImmediate(time.Second*1, time.Second*60, func() (bool, error) {
pods := &v1.PodList{}
err = runtimeClient.List(context.TODO(), &client.ListOptions{LabelSelector: set.AsSelector()}, pods)
err = runtimeClient.List(context.TODO(), pods, client.MatchingLabels(set))
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @corinnekrych,
In the f494845#diff-b38c855ac3ed0aa95294c855ea839f99R176 it was solved as follows.

err = runtimeClient.List(context.TODO(), pods, client.MatchingLabels(dep.Spec.Selector.MatchLabels))

if err != nil {
return false, fmt.Errorf("failed to get list of pods in deployment: %v", err)
}
Expand Down
25 changes: 23 additions & 2 deletions pkg/ansible/proxy/proxy.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ import (
"errors"
"fmt"
"io/ioutil"
"k8s.io/apimachinery/pkg/fields"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/selection"
"net/http"
"net/http/httputil"
"strings"
Expand Down Expand Up @@ -114,7 +117,7 @@ func CacheResponseHandler(h http.Handler, informerCache cache.Cache, restMapper
log.Error(err, "Unable to decode list options from request")
break
}
lo := client.InNamespace(r.Namespace)
lo := client.ListOptions{Namespace: r.Namespace}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

here we can do just as follows.

lo := &client.ListOptions{}
lo.InNamespace(r.Namespace)

if err := lo.SetLabelSelector(listOptions.LabelSelector); err != nil {
log.Error(err, "Unable to set label selectors for the client")
break
Expand All @@ -128,7 +131,25 @@ func CacheResponseHandler(h http.Handler, informerCache cache.Cache, restMapper
k.Kind = k.Kind + "List"
un := unstructured.UnstructuredList{}
un.SetGroupVersionKind(k)
err = informerCache.List(context.Background(), lo, &un)
lbs, err := labels.ConvertSelectorToLabelsMap(lo.LabelSelector.String())
if err != nil {
log.Error(err, "Unable to set label selectors for the client")
break
}
p := []client.ListOptionFunc{client.InNamespace(lo.Namespace)}
if len(lbs) > 0 {
p = append(p, client.MatchingLabels(lbs))
}
s, err := fields.ParseSelector(lo.FieldSelector.String())
reqs := s.Requirements()
if len(reqs) > 0 {
for idx, reg := range reqs {
if reg.Operator == selection.Equals || reg.Operator == selection.DoubleEquals {
p = append(p, client.MatchingField(reqs[idx].Field, reqs[idx].Value))
}
}
}
err = informerCache.List(context.Background(), &un, p...)
if err != nil {
// break here in case resource doesn't exist in cache but exists on APIserver
// This is very unlikely but provides user with expected 404
Expand Down
2 changes: 1 addition & 1 deletion pkg/apis/scorecard/v1alpha1/register.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ package v1alpha1

import (
"k8s.io/apimachinery/pkg/runtime/schema"
"sigs.k8s.io/controller-runtime/pkg/runtime/scheme"
"sigs.k8s.io/controller-runtime/pkg/scheme"
)

var (
Expand Down
2 changes: 0 additions & 2 deletions pkg/log/zap/logger.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ import (
"github.com/go-logr/zapr"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
logf "sigs.k8s.io/controller-runtime/pkg/runtime/log"
)

func Logger() logr.Logger {
Expand All @@ -34,7 +33,6 @@ func LoggerTo(destWriter io.Writer) logr.Logger {
syncer := zapcore.AddSync(destWriter)
conf := getConfig()

conf.encoder = &logf.KubeAwareEncoder{Encoder: conf.encoder, Verbose: conf.level.Level() < 0}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Following it fixed made in the PR: f494845#diff-4407315726717f30063d558928ad9188R37

zapf "sigs.k8s.io/controller-runtime/pkg/log/zap"
	
conf.encoder = &zapf.KubeAwareEncoder{Encoder: conf.encoder, Verbose: conf.level.Level() < 0}
`

if conf.sample {
conf.opts = append(conf.opts, zap.WrapCore(func(core zapcore.Core) zapcore.Core {
return zapcore.NewSampler(core, time.Second, 100, 100)
Expand Down
6 changes: 3 additions & 3 deletions pkg/test/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ var _ FrameworkClient = &frameworkClient{}

type FrameworkClient interface {
Get(gCtx goctx.Context, key dynclient.ObjectKey, obj runtime.Object) error
List(gCtx goctx.Context, opts *dynclient.ListOptions, list runtime.Object) error
List(gCtx goctx.Context, list runtime.Object, opts ...dynclient.ListOptionFunc) error
Create(gCtx goctx.Context, obj runtime.Object, cleanupOptions *CleanupOptions) error
Delete(gCtx goctx.Context, obj runtime.Object, opts ...dynclient.DeleteOptionFunc) error
Update(gCtx goctx.Context, obj runtime.Object) error
Expand Down Expand Up @@ -93,8 +93,8 @@ func (f *frameworkClient) Get(gCtx goctx.Context, key dynclient.ObjectKey, obj r
return f.Client.Get(gCtx, key, obj)
}

func (f *frameworkClient) List(gCtx goctx.Context, opts *dynclient.ListOptions, list runtime.Object) error {
return f.Client.List(gCtx, opts, list)
func (f *frameworkClient) List(gCtx goctx.Context, list runtime.Object, opts ...dynclient.ListOptionFunc) error {
return f.Client.List(gCtx, list, opts...)
}

func (f *frameworkClient) Delete(gCtx goctx.Context, obj runtime.Object, opts ...dynclient.DeleteOptionFunc) error {
Expand Down
5 changes: 3 additions & 2 deletions pkg/test/framework.go
Original file line number Diff line number Diff line change
Expand Up @@ -162,9 +162,10 @@ func AddToFrameworkScheme(addToScheme addToSchemeFunc, obj runtime.Object) error
}
err = wait.PollImmediate(time.Second, time.Second*10, func() (done bool, err error) {
if *singleNamespace {
err = dynClient.List(goctx.TODO(), &dynclient.ListOptions{Namespace: Global.Namespace}, obj)
err = dynClient.List(goctx.TODO(), obj, dynclient.InNamespace(Global.Namespace))

} else {
err = dynClient.List(goctx.TODO(), &dynclient.ListOptions{Namespace: "default"}, obj)
err = dynClient.List(goctx.TODO(), obj, dynclient.InNamespace("default"))
}
if err != nil {
restMapper.Reset()
Expand Down
8 changes: 4 additions & 4 deletions test/e2e/incluster-test-code/memcached_test.go.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,10 @@ func memcachedScaleTest(t *testing.T, f *framework.Framework, ctx *framework.Tes
}
// create memcached custom resource
exampleMemcached := &operator.Memcached{
TypeMeta: metav1.TypeMeta{
Kind: "Memcached",
APIVersion: "cache.example.com/v1alpha1",
},
//TypeMeta: metav1.TypeMeta{
// Kind: "Memcached",
// APIVersion: "cache.example.com/v1alpha1",
//},
ObjectMeta: metav1.ObjectMeta{
Name: "example-memcached",
Namespace: namespace,
Expand Down
23 changes: 5 additions & 18 deletions test/e2e/memcached_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -345,16 +345,7 @@ func verifyLeader(t *testing.T, namespace string, f *framework.Framework, labels

// get operator pods
pods := v1.PodList{}
opts := client.ListOptions{Namespace: namespace}
for k, v := range labels {
if err := opts.SetLabelSelector(fmt.Sprintf("%s=%s", k, v)); err != nil {
return nil, fmt.Errorf("failed to set list label selector: (%v)", err)
}
}
if err := opts.SetFieldSelector("status.phase=Running"); err != nil {
t.Fatalf("Failed to set list field selector: (%v)", err)
}
err = f.Client.List(context.TODO(), &opts, &pods)
err = f.Client.List(context.TODO(), &pods, client.InNamespace(namespace), client.MatchingLabels(labels), client.MatchingField("status.phase", "Running"))
if err != nil {
return nil, err
}
Expand Down Expand Up @@ -611,21 +602,17 @@ func memcachedMetricsTest(t *testing.T, f *framework.Framework, ctx *framework.T

// Get operator pod
pods := v1.PodList{}
opts := client.InNamespace(namespace)
//opts := client.InNamespace(namespace)
if len(s.Spec.Selector) == 0 {
return fmt.Errorf("no labels found in metrics Service")
}

lbs := map[string]string{}
for k, v := range s.Spec.Selector {
if err := opts.SetLabelSelector(fmt.Sprintf("%s=%s", k, v)); err != nil {
return fmt.Errorf("failed to set list label selector: (%v)", err)
}
lbs[k] = v
}

if err := opts.SetFieldSelector("status.phase=Running"); err != nil {
return fmt.Errorf("failed to set list field selector: (%v)", err)
}
err = f.Client.List(context.TODO(), opts, &pods)
err = f.Client.List(context.TODO(), &pods, client.MatchingLabels(lbs), client.MatchingField("status.phase", "Running"))
if err != nil {
return fmt.Errorf("failed to get pods: (%v)", err)
}
Expand Down
2 changes: 2 additions & 0 deletions test/test-framework/deploy/namespace-init.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ roleRef:
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
name: memcached-operator
spec:
replicas: 1
Expand All @@ -74,6 +75,7 @@ spec:
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
name: memcached-operator
spec:
Expand Down
2 changes: 1 addition & 1 deletion test/test-framework/pkg/apis/cache/v1alpha1/register.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ package v1alpha1

import (
"k8s.io/apimachinery/pkg/runtime/schema"
"sigs.k8s.io/controller-runtime/pkg/runtime/scheme"
"sigs.k8s.io/controller-runtime/pkg/scheme"
)

var (
Expand Down
Loading