Skip to content

Commit

Permalink
Pin provider controllers to deprecated version
Browse files Browse the repository at this point in the history
  • Loading branch information
enxebre committed Jan 31, 2019
1 parent fcc0fb9 commit f87aec1
Show file tree
Hide file tree
Showing 6 changed files with 38 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ metadata:
name: machine-api-operator-images
namespace: openshift-cluster-api
data:
images.json: '{"machineAPIOperator": "docker.io/openshift/origin-machine-api-operator:v4.0.0", "clusterAPIControllerAWS": "docker.io/openshift/origin-aws-machine-controllers:v4.0.0", "clusterAPIControllerOpenStack": "docker.io/openshift/origin-openstack-machine-controllers:v4.0.0", "clusterAPIControllerLibvirt": "docker.io/openshift/origin-libvirt-machine-controllers:v4.0.0"}'
images.json: '{"machineAPIOperator": "docker.io/openshift/origin-machine-api-operator:v4.0.0", "clusterAPIControllerAWS": "docker.io/openshift/origin-aws-machine-controllers:v4.0.0", "clusterAPIControllerOpenStack": "docker.io/openshift/origin-openstack-machine-controllers:v4.0.0", "clusterAPIControllerLibvirt": "docker.io/openshift/origin-libvirt-machine-controllers:v4.0.0", "clusterAPIControllerLibvirtDeprecated": "quay.io/coreos/cluster-api-provider-libvirt:origin-v4.0-2019-01-31-041134", "clusterAPIControllerAWSDeprecated": "quay.io/coreos/cluster-api-provider-aws:origin-v4.0-2019-01-31-041134"}'
8 changes: 4 additions & 4 deletions owned-manifests/clusterapi-manager-controllers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ spec:
key: node.alpha.kubernetes.io/unreachable
operator: Exists
containers:
- name: controller-manager
image: {{ .Controllers.Provider }}
- name: controller-manager-deprecated
image: {{ .Controllers.ProviderDeprecated }}
command:
- "./manager"
args:
Expand All @@ -49,8 +49,8 @@ spec:
limits:
cpu: 100m
memory: 30Mi
- name: machine-controller
image: {{ .Controllers.Provider }}
- name: machine-controller-deprecated
image: {{ .Controllers.ProviderDeprecated }}
env:
- name: NODE_NAME
valueFrom:
Expand Down
16 changes: 10 additions & 6 deletions pkg/operator/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,12 @@ import (
"github.com/ghodss/yaml"

"bytes"
"reflect"
"text/template"

corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/kubernetes"
"reflect"
"text/template"
)

const (
Expand Down Expand Up @@ -40,16 +41,19 @@ type OperatorConfig struct {

type Controllers struct {
Provider string
ProviderDeprecated string
NodeLink string
MachineHealthCheck string
}

// Images allows build systems to inject images for MAO components
type Images struct {
MachineAPIOperator string `json:"machineAPIOperator"`
ClusterAPIControllerAWS string `json:"clusterAPIControllerAWS"`
ClusterAPIControllerOpenStack string `json:"clusterAPIControllerOpenStack"`
ClusterAPIControllerLibvirt string `json:"clusterAPIControllerLibvirt"`
MachineAPIOperator string `json:"machineAPIOperator"`
ClusterAPIControllerAWS string `json:"clusterAPIControllerAWS"`
ClusterAPIControllerAWSDeprecated string `json:"clusterAPIControllerAWSDeprecated"`
ClusterAPIControllerOpenStack string `json:"clusterAPIControllerOpenStack"`
ClusterAPIControllerLibvirt string `json:"clusterAPIControllerLibvirt"`
ClusterAPIControllerLibvirtDeprecated string `json:"clusterAPIControllerLibvirtDeprecated"`
}

// InstallConfig contains the mao relevant config coming from the install config, i.e provider
Expand Down
10 changes: 9 additions & 1 deletion pkg/operator/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package operator
import (
"testing"

"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
)

var (
Expand All @@ -12,6 +12,8 @@ var (
expectedLibvirtImage = "docker.io/openshift/origin-libvirt-machine-controllers:v4.0.0"
expectedOpenstackImage = "docker.io/openshift/origin-openstack-machine-controllers:v4.0.0"
expectedMachineAPIOperatorImage = "docker.io/openshift/origin-machine-api-operator:v4.0.0"
expectedAWSImageDeprecated = "quay.io/coreos/cluster-api-provider-aws:origin-v4.0-2019-01-31-041134"
expectedLibvirtImageDeprecated = "quay.io/coreos/cluster-api-provider-libvirt:origin-v4.0-2019-01-31-041134"
)

func TestInstallConfigFromClusterConfig(t *testing.T) {
Expand Down Expand Up @@ -134,6 +136,12 @@ func TestGetImagesFromJSONFile(t *testing.T) {
if img.ClusterAPIControllerOpenStack != expectedOpenstackImage {
t.Errorf("failed getImagesFromJSONFile. Expected: %s, got: %s", expectedOpenstackImage, img.ClusterAPIControllerOpenStack)
}
if img.ClusterAPIControllerAWSDeprecated != expectedAWSImageDeprecated {
t.Errorf("failed getImagesFromJSONFile. Expected: %s, got: %s", expectedAWSImageDeprecated, img.ClusterAPIControllerAWSDeprecated)
}
if img.ClusterAPIControllerLibvirtDeprecated != expectedLibvirtImageDeprecated {
t.Errorf("failed getImagesFromJSONFile. Expected: %s, got: %s", expectedLibvirtImageDeprecated, img.ClusterAPIControllerLibvirtDeprecated)
}
}

func TestGetProviderControllerFromImages(t *testing.T) {
Expand Down
4 changes: 3 additions & 1 deletion pkg/operator/fixtures/images.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,7 @@
"clusterAPIControllerAWS": "docker.io/openshift/origin-aws-machine-controllers:v4.0.0",
"clusterAPIControllerOpenStack": "docker.io/openshift/origin-openstack-machine-controllers:v4.0.0",
"clusterAPIControllerLibvirt": "docker.io/openshift/origin-libvirt-machine-controllers:v4.0.0",
"machineAPIOperator": "docker.io/openshift/origin-machine-api-operator:v4.0.0"
"machineAPIOperator": "docker.io/openshift/origin-machine-api-operator:v4.0.0",
"clusterAPIControllerLibvirtDeprecated": "quay.io/coreos/cluster-api-provider-libvirt:origin-v4.0-2019-01-31-041134",
"clusterAPIControllerAWSDeprecated": "quay.io/coreos/cluster-api-provider-aws:origin-v4.0-2019-01-31-041134"
}
12 changes: 11 additions & 1 deletion pkg/operator/operator.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (
"github.com/golang/glog"
osclientset "github.com/openshift/client-go/config/clientset/versioned"

"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/apimachinery/pkg/util/wait"
appsinformersv1 "k8s.io/client-go/informers/apps/v1"
Expand Down Expand Up @@ -210,10 +210,20 @@ func (optr *Operator) maoConfigFromInstallConfig() (*OperatorConfig, error) {
return nil, err
}

// TODO: Remove once we transition over machine.openshift.io group
var providerDreprecatedControllerImage string
switch provider {
case AWSProvider:
providerDreprecatedControllerImage = images.ClusterAPIControllerAWSDeprecated
case LibvirtProvider:
providerDreprecatedControllerImage = images.ClusterAPIControllerLibvirtDeprecated
}

return &OperatorConfig{
optr.namespace,
Controllers{
providerControllerImage,
providerDreprecatedControllerImage,
machineAPIOperatorImage,
machineAPIOperatorImage,
},
Expand Down

0 comments on commit f87aec1

Please sign in to comment.