Skip to content

Commit

Permalink
Merge pull request #226 from damemi/rebase-1.18
Browse files Browse the repository at this point in the history
Rebase to kube 1.18
  • Loading branch information
openshift-merge-robot committed Mar 25, 2020
2 parents b1a5627 + 8957f7a commit 01caed9
Show file tree
Hide file tree
Showing 1,007 changed files with 39,732 additions and 18,414 deletions.
16 changes: 8 additions & 8 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,19 @@ require (
github.com/blang/semver v3.5.0+incompatible
github.com/ghodss/yaml v1.0.0
github.com/jteeuwen/go-bindata v3.0.8-0.20151023091102-a0ff2567cfb7+incompatible
github.com/openshift/api v0.0.0-20200210091934-a0e53e94816b
github.com/openshift/api v0.0.0-20200323095748-e7041f8762a3
github.com/openshift/build-machinery-go v0.0.0-20200211121458-5e3d6e570160
github.com/openshift/client-go v0.0.0-20200116152001-92a2713fa240
github.com/openshift/library-go v0.0.0-20200318085456-5071c92bad8c
github.com/openshift/client-go v0.0.0-20200320150128-a906f3d8e723
github.com/openshift/library-go v0.0.0-20200320155611-2a351bebf158
github.com/prometheus/client_golang v1.1.0
github.com/prometheus/common v0.6.0
github.com/spf13/cobra v0.0.5
github.com/spf13/pflag v1.0.5
k8s.io/api v0.17.2
k8s.io/apimachinery v0.17.2
k8s.io/apiserver v0.17.1
k8s.io/client-go v0.17.1
k8s.io/component-base v0.17.1
k8s.io/api v0.18.0-beta.2
k8s.io/apimachinery v0.18.0-beta.2
k8s.io/apiserver v0.18.0-beta.2
k8s.io/client-go v0.18.0-beta.2
k8s.io/component-base v0.18.0-beta.2
k8s.io/klog v1.0.0
)

Expand Down
130 changes: 63 additions & 67 deletions go.sum

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions pkg/operator/configmetrics/configmetrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,3 +48,7 @@ func (m *configMetrics) Collect(ch chan<- prometheus.Metric) {
ch <- g
}
}

func (m *configMetrics) FQName() string {
return "cluster_master_schedulable"
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import (
"github.com/openshift/cluster-kube-scheduler-operator/pkg/operator/configobservation/scheduler"
"github.com/openshift/cluster-kube-scheduler-operator/pkg/operator/operatorclient"
"github.com/openshift/library-go/pkg/controller/factory"

"github.com/openshift/library-go/pkg/operator/configobserver"
"github.com/openshift/library-go/pkg/operator/events"
"github.com/openshift/library-go/pkg/operator/resourcesynccontroller"
Expand Down Expand Up @@ -46,6 +45,7 @@ func NewConfigObserver(
for _, ns := range interestingNamespaces {
configMapPreRunCacheSynced = append(configMapPreRunCacheSynced, kubeInformersForNamespaces.InformersFor(ns).Core().V1().ConfigMaps().Informer().HasSynced)
}

c := &ConfigObserver{
Controller: configobserver.NewConfigObserver(
operatorClient,
Expand Down
3 changes: 2 additions & 1 deletion pkg/operator/starter.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ func RunOperator(ctx context.Context, cc *controllercmd.ControllerContext) error
return errors.New("environment variable 'OPERATOR_IMAGE' can't be empty")
}
targetConfigReconciler := NewTargetConfigReconciler(
ctx,
imagePullSpec,
operatorImagePullSpec,
operatorClient,
Expand All @@ -100,7 +101,7 @@ func RunOperator(ctx context.Context, cc *controllercmd.ControllerContext) error

// don't change any versions until we sync
versionRecorder := status.NewVersionGetter()
clusterOperator, err := configClient.ConfigV1().ClusterOperators().Get("kube-scheduler-operator", metav1.GetOptions{})
clusterOperator, err := configClient.ConfigV1().ClusterOperators().Get(ctx, "kube-scheduler-operator", metav1.GetOptions{})
if err != nil && !apierrors.IsNotFound(err) {
return err
}
Expand Down
4 changes: 4 additions & 0 deletions pkg/operator/target_config_reconciler.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package operator

import (
"context"
"fmt"
"time"

Expand All @@ -24,6 +25,7 @@ import (
)

type TargetConfigReconciler struct {
ctx context.Context
targetImagePullSpec string
operatorImagePullSpec string
operatorClient v1helpers.StaticPodOperatorClient
Expand All @@ -37,6 +39,7 @@ type TargetConfigReconciler struct {
}

func NewTargetConfigReconciler(
ctx context.Context,
targetImagePullSpec, operatorImagePullSpec string,
operatorConfigClient v1helpers.OperatorClient,
namespacedKubeInformers informers.SharedInformerFactory,
Expand All @@ -47,6 +50,7 @@ func NewTargetConfigReconciler(
eventRecorder events.Recorder,
) *TargetConfigReconciler {
c := &TargetConfigReconciler{
ctx: ctx,
targetImagePullSpec: targetImagePullSpec,
operatorImagePullSpec: operatorImagePullSpec,
kubeClient: kubeClient,
Expand Down
15 changes: 8 additions & 7 deletions pkg/operator/target_config_reconciler_v410_00.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package operator

import (
"context"
"fmt"
"sort"
"strings"
Expand Down Expand Up @@ -60,11 +61,11 @@ func createTargetConfigReconciler_v311_00_to_latest(c TargetConfigReconciler, re
if err != nil {
errors = append(errors, fmt.Errorf("%q: %v", "configmap/serviceaccount-ca", err))
}
err = ensureLocalhostRecoverySAToken(c.kubeClient.CoreV1(), recorder)
err = ensureLocalhostRecoverySAToken(c.ctx, c.kubeClient.CoreV1(), recorder)
if err != nil {
errors = append(errors, fmt.Errorf("%q: %v", "serviceaccount/localhost-recovery-client", err))
}
_, _, err = managePod_v311_00_to_latest(c.kubeClient.CoreV1(), c.kubeClient.CoreV1(), recorder, operatorSpec, c.targetImagePullSpec, c.operatorImagePullSpec, c.featureGateLister)
_, _, err = managePod_v311_00_to_latest(c.ctx, c.kubeClient.CoreV1(), c.kubeClient.CoreV1(), recorder, operatorSpec, c.targetImagePullSpec, c.operatorImagePullSpec, c.featureGateLister)
if err != nil {
errors = append(errors, fmt.Errorf("%q: %v", "configmap/kube-scheduler-pod", err))
}
Expand Down Expand Up @@ -103,7 +104,7 @@ func manageKubeSchedulerConfigMap_v311_00_to_latest(lister corev1listers.ConfigM
return resourceapply.ApplyConfigMap(client, recorder, requiredConfigMap)
}

func managePod_v311_00_to_latest(configMapsGetter corev1client.ConfigMapsGetter, secretsGetter corev1client.SecretsGetter, recorder events.Recorder, operatorSpec *operatorv1.StaticPodOperatorSpec, imagePullSpec, operatorImagePullSpec string, featureGateLister configlistersv1.FeatureGateLister) (*corev1.ConfigMap, bool, error) {
func managePod_v311_00_to_latest(ctx context.Context, configMapsGetter corev1client.ConfigMapsGetter, secretsGetter corev1client.SecretsGetter, recorder events.Recorder, operatorSpec *operatorv1.StaticPodOperatorSpec, imagePullSpec, operatorImagePullSpec string, featureGateLister configlistersv1.FeatureGateLister) (*corev1.ConfigMap, bool, error) {
required := resourceread.ReadPodV1OrDie(v410_00_assets.MustAsset("v4.1.0/kube-scheduler/pod.yaml"))
images := map[string]string{
"${IMAGE}": imagePullSpec,
Expand Down Expand Up @@ -145,7 +146,7 @@ func managePod_v311_00_to_latest(configMapsGetter corev1client.ConfigMapsGetter,
required.Spec.Containers[0].Args = append(required.Spec.Containers[0].Args, fmt.Sprintf("-v=%d", 2))
}

if _, err := secretsGetter.Secrets(required.Namespace).Get("serving-cert", metav1.GetOptions{}); err != nil && !apierrors.IsNotFound(err) {
if _, err := secretsGetter.Secrets(required.Namespace).Get(ctx, "serving-cert", metav1.GetOptions{}); err != nil && !apierrors.IsNotFound(err) {
return nil, false, err
} else if err == nil {
required.Spec.Containers[0].Args = append(required.Spec.Containers[0].Args, "--tls-cert-file=/etc/kubernetes/static-pod-resources/secrets/serving-cert/tls.crt")
Expand Down Expand Up @@ -224,20 +225,20 @@ func manageServiceAccountCABundle(lister corev1listers.ConfigMapLister, client c
return resourceapply.ApplyConfigMap(client, recorder, requiredConfigMap)
}

func ensureLocalhostRecoverySAToken(client corev1client.CoreV1Interface, recorder events.Recorder) error {
func ensureLocalhostRecoverySAToken(ctx context.Context, client corev1client.CoreV1Interface, recorder events.Recorder) error {
requiredSA := resourceread.ReadServiceAccountV1OrDie(v410_00_assets.MustAsset("v4.1.0/kube-scheduler/localhost-recovery-sa.yaml"))
requiredToken := resourceread.ReadSecretV1OrDie(v410_00_assets.MustAsset("v4.1.0/kube-scheduler/localhost-recovery-token.yaml"))

saClient := client.ServiceAccounts(operatorclient.TargetNamespace)
serviceAccount, err := saClient.Get(requiredSA.Name, metav1.GetOptions{})
serviceAccount, err := saClient.Get(ctx, requiredSA.Name, metav1.GetOptions{})
if err != nil {
return err
}

// The default token secrets get random names so we have created a custom secret
// to be populated with SA token so we have a stable name.
secretsClient := client.Secrets(operatorclient.TargetNamespace)
token, err := secretsClient.Get(requiredToken.Name, metav1.GetOptions{})
token, err := secretsClient.Get(ctx, requiredToken.Name, metav1.GetOptions{})
if err != nil {
return err
}
Expand Down
4 changes: 3 additions & 1 deletion test/e2e/main_test.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package e2e

import (
"context"
"k8s.io/klog"
"os"
"testing"
Expand All @@ -12,9 +13,10 @@ func TestMain(m *testing.M) {
klog.Errorf("error while instantiating clients with %v", err)
os.Exit(1)
}
ctx := context.Background()
// e2e test job does not guarantee our operator is up before
// launching the test, so we need to do so.
err = waitForOperator(kclient)
err = waitForOperator(ctx, kclient)
if err != nil {
klog.Errorf("failed waiting for operator to start: %v\n", err)
os.Exit(1)
Expand Down

0 comments on commit 01caed9

Please sign in to comment.