Fix compatibility with Kube 1.6
This commit is contained in:
@@ -15,6 +15,6 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
description: IBM MQ queue manager
|
description: IBM MQ queue manager
|
||||||
name: ibm-mqadvanced-server-dev
|
name: ibm-mqadvanced-server-dev
|
||||||
version: 1.0.1
|
version: 1.0.2
|
||||||
icon: https://developer.ibm.com/messaging/wp-content/uploads/sites/18/2017/07/IBM-MQ-Square-200.png
|
icon: https://developer.ibm.com/messaging/wp-content/uploads/sites/18/2017/07/IBM-MQ-Square-200.png
|
||||||
tillerVersion: ">=2.4.0"
|
tillerVersion: ">=2.4.0"
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ This chart deploys a single IBM MQ Advanced for Developers server (queue manager
|
|||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
- Kubernetes 1.7 or greater, with beta APIs enabled
|
- Kubernetes 1.6 or greater, with beta APIs enabled
|
||||||
- If persistence is enabled (see [configuration](#configuration)), then you either need to create a PersistentVolume, or specify a Storage Class if classes are defined in your cluster.
|
- If persistence is enabled (see [configuration](#configuration)), then you either need to create a PersistentVolume, or specify a Storage Class if classes are defined in your cluster.
|
||||||
|
|
||||||
## Installing the Chart
|
## Installing the Chart
|
||||||
|
|||||||
@@ -24,8 +24,10 @@ metadata:
|
|||||||
spec:
|
spec:
|
||||||
serviceName: {{ .Values.service.name }}
|
serviceName: {{ .Values.service.name }}
|
||||||
replicas: 1
|
replicas: 1
|
||||||
|
{{- if and (ge (.Capabilities.KubeVersion.Major | int) 1) (ge (.Capabilities.KubeVersion.Minor | int) 7) }}
|
||||||
updateStrategy:
|
updateStrategy:
|
||||||
type: RollingUpdate
|
type: RollingUpdate
|
||||||
|
{{- end }}
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
|
|||||||
@@ -15,6 +15,6 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
description: IBM MQ queue manager
|
description: IBM MQ queue manager
|
||||||
name: ibm-mqadvanced-server-prod
|
name: ibm-mqadvanced-server-prod
|
||||||
version: 1.0.1
|
version: 1.0.2
|
||||||
icon: https://developer.ibm.com/messaging/wp-content/uploads/sites/18/2017/07/IBM-MQ-Square-200.png
|
icon: https://developer.ibm.com/messaging/wp-content/uploads/sites/18/2017/07/IBM-MQ-Square-200.png
|
||||||
tillerVersion: ">=2.4.0"
|
tillerVersion: ">=2.4.0"
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ This chart deploys a single IBM MQ Advanced server (queue manager) into an IBM C
|
|||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
- Kubernetes 1.7 or greater, with beta APIs enabled
|
- Kubernetes 1.6 or greater, with beta APIs enabled
|
||||||
- If persistence is enabled (see [configuration](#configuration)), then you either need to create a PersistentVolume, or specify a Storage Class if classes are defined in your cluster.
|
- If persistence is enabled (see [configuration](#configuration)), then you either need to create a PersistentVolume, or specify a Storage Class if classes are defined in your cluster.
|
||||||
|
|
||||||
## Installing the Chart
|
## Installing the Chart
|
||||||
|
|||||||
@@ -24,8 +24,10 @@ metadata:
|
|||||||
spec:
|
spec:
|
||||||
serviceName: {{ .Values.service.name }}
|
serviceName: {{ .Values.service.name }}
|
||||||
replicas: 1
|
replicas: 1
|
||||||
|
{{- if and (ge (.Capabilities.KubeVersion.Major | int) 1) (ge (.Capabilities.KubeVersion.Minor | int) 7) }}
|
||||||
updateStrategy:
|
updateStrategy:
|
||||||
type: RollingUpdate
|
type: RollingUpdate
|
||||||
|
{{- end }}
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ func TestHelmPredefinedVolume(t *testing.T) {
|
|||||||
func TestHelmStorageClass(t *testing.T) {
|
func TestHelmStorageClass(t *testing.T) {
|
||||||
cs := kubeLogin(t)
|
cs := kubeLogin(t)
|
||||||
release := strings.ToLower(t.Name())
|
release := strings.ToLower(t.Name())
|
||||||
|
assertKubeVersion(t, cs, 1, 6)
|
||||||
if !storageClassesDefined(t, cs) {
|
if !storageClassesDefined(t, cs) {
|
||||||
t.Skipf("Skipping test because no storage classes were found")
|
t.Skipf("Skipping test because no storage classes were found")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"runtime"
|
"runtime"
|
||||||
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
@@ -257,4 +258,23 @@ func volumesAvailable(t *testing.T, cs *kubernetes.Clientset) bool {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// assertKubeVersion is used to assert that a test requires a specific version of Kubernetes
|
||||||
|
func assertKubeVersion(t *testing.T, cs *kubernetes.Clientset, major int, minor int) {
|
||||||
|
v, err := cs.Discovery().ServerVersion()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
maj, err := strconv.Atoi(v.Major)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
min, err := strconv.Atoi(v.Minor)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
if maj <= major && min < minor {
|
||||||
|
t.Skipf("Skipping test because it's not suitable for Kubernetes %v.%v", v.Major, v.Minor)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: On Minikube, need to make sure Helm is initialized first
|
// TODO: On Minikube, need to make sure Helm is initialized first
|
||||||
|
|||||||
Reference in New Issue
Block a user