diff --git a/charts/hdfs-client-k8s/templates/client-deployment.yaml b/charts/hdfs-client-k8s/templates/client-deployment.yaml index e36b4a7..c654d7c 100644 --- a/charts/hdfs-client-k8s/templates/client-deployment.yaml +++ b/charts/hdfs-client-k8s/templates/client-deployment.yaml @@ -1,4 +1,4 @@ -apiVersion: extensions/v1beta1 +apiVersion: apps/v1 kind: Deployment metadata: name: {{ template "hdfs-k8s.client.fullname" . }} diff --git a/charts/hdfs-datanode-k8s/templates/datanode-daemonset.yaml b/charts/hdfs-datanode-k8s/templates/datanode-daemonset.yaml index 09445ed..d7afbbf 100644 --- a/charts/hdfs-datanode-k8s/templates/datanode-daemonset.yaml +++ b/charts/hdfs-datanode-k8s/templates/datanode-daemonset.yaml @@ -34,7 +34,7 @@ data: --- # Deleting a daemonset may need some trick. See # https://github.com/kubernetes/kubernetes/issues/33245#issuecomment-261250489 -apiVersion: extensions/v1beta1 +apiVersion: apps/v1 kind: DaemonSet metadata: name: {{ template "hdfs-k8s.datanode.fullname" . }} @@ -43,6 +43,10 @@ metadata: chart: {{ template "hdfs-k8s.subchart" . }} release: {{ .Release.Name }} spec: + selector: + matchLabels: + app: {{ template "hdfs-k8s.datanode.name" . }} + release: {{ .Release.Name }} template: metadata: labels: diff --git a/charts/hdfs-journalnode-k8s/templates/journalnode-statefulset.yaml b/charts/hdfs-journalnode-k8s/templates/journalnode-statefulset.yaml index 22a4a2b..a8baf67 100644 --- a/charts/hdfs-journalnode-k8s/templates/journalnode-statefulset.yaml +++ b/charts/hdfs-journalnode-k8s/templates/journalnode-statefulset.yaml @@ -37,7 +37,7 @@ spec: release: {{ .Release.Name }} minAvailable: {{ div .Values.global.journalnodeQuorumSize 2 | add1 }} --- -apiVersion: apps/v1beta1 +apiVersion: apps/v1 kind: StatefulSet metadata: name: {{ template "hdfs-k8s.journalnode.fullname" . }} @@ -46,6 +46,10 @@ metadata: chart: {{ template "hdfs-k8s.subchart" . }} release: {{ .Release.Name }} spec: + selector: + matchLabels: + app: {{ template "hdfs-k8s.journalnode.name" . }} + release: {{ .Release.Name }} serviceName: {{ template "hdfs-k8s.journalnode.fullname" . }} replicas: {{ .Values.global.journalnodeQuorumSize }} template: diff --git a/charts/hdfs-k8s/requirements.yaml b/charts/hdfs-k8s/requirements.yaml index 54622f4..efae36c 100644 --- a/charts/hdfs-k8s/requirements.yaml +++ b/charts/hdfs-k8s/requirements.yaml @@ -1,7 +1,7 @@ dependencies: - name: zookeeper - version: "1.3.1" - repository: https://kubernetes-charts-incubator.storage.googleapis.com/ + version: "2.1.1" + repository: https://charts.helm.sh/incubator condition: condition.subchart.zookeeper tags: - ha diff --git a/charts/hdfs-krb5-k8s/templates/statefulset.yaml b/charts/hdfs-krb5-k8s/templates/statefulset.yaml index 15be4b2..dec1cc0 100644 --- a/charts/hdfs-krb5-k8s/templates/statefulset.yaml +++ b/charts/hdfs-krb5-k8s/templates/statefulset.yaml @@ -24,7 +24,7 @@ spec: app: {{ template "hdfs-k8s.krb5.name" . }} release: {{ .Release.Name }} --- -apiVersion: apps/v1beta1 +apiVersion: apps/v1 kind: StatefulSet metadata: name: {{ template "hdfs-k8s.krb5.fullname" . }} diff --git a/charts/hdfs-namenode-k8s/templates/namenode-statefulset.yaml b/charts/hdfs-namenode-k8s/templates/namenode-statefulset.yaml index 44e8fc6..381663b 100644 --- a/charts/hdfs-namenode-k8s/templates/namenode-statefulset.yaml +++ b/charts/hdfs-namenode-k8s/templates/namenode-statefulset.yaml @@ -110,7 +110,7 @@ data: # ad-hoc operation as specified by a user. custom-run.sh: {{ .Values.customRunScript | quote }} --- -apiVersion: apps/v1beta1 +apiVersion: apps/v1 kind: StatefulSet metadata: name: {{ template "hdfs-k8s.namenode.fullname" . }} @@ -119,6 +119,10 @@ metadata: chart: {{ template "hdfs-k8s.subchart" . }} release: {{ .Release.Name }} spec: + selector: + matchLabels: + app: {{ template "hdfs-k8s.namenode.name" . }} + release: {{ .Release.Name }} serviceName: {{ template "hdfs-k8s.namenode.fullname" . }} replicas: 2 template: diff --git a/charts/hdfs-simple-namenode-k8s/templates/namenode-statefulset.yaml b/charts/hdfs-simple-namenode-k8s/templates/namenode-statefulset.yaml index ab92efa..af2dd10 100644 --- a/charts/hdfs-simple-namenode-k8s/templates/namenode-statefulset.yaml +++ b/charts/hdfs-simple-namenode-k8s/templates/namenode-statefulset.yaml @@ -16,7 +16,7 @@ spec: app: {{ template "hdfs-k8s.namenode.name" . }} release: {{ .Release.Name }} --- -apiVersion: apps/v1beta1 +apiVersion: apps/v1 kind: StatefulSet metadata: name: {{ template "hdfs-k8s.namenode.fullname" . }} @@ -25,6 +25,10 @@ metadata: chart: {{ template "hdfs-k8s.subchart" . }} release: {{ .Release.Name }} spec: + selector: + matchLabels: + app: {{ template "hdfs-k8s.namenode.name" . }} + release: {{ .Release.Name }} serviceName: {{ template "hdfs-k8s.namenode.fullname" . }} # Create a size-1 set. replicas: 1 diff --git a/tests/gold/basic.gold b/tests/gold/basic.gold index 9219b59..8b4d2bd 100644 --- a/tests/gold/basic.gold +++ b/tests/gold/basic.gold @@ -672,7 +672,7 @@ spec: # Source: hdfs/charts/hdfs-datanode-k8s/templates/datanode-daemonset.yaml # Deleting a daemonset may need some trick. See # https://github.com/kubernetes/kubernetes/issues/33245#issuecomment-261250489 -apiVersion: extensions/v1beta1 +apiVersion: apps/v1 kind: DaemonSet metadata: name: my-hdfs-datanode @@ -741,7 +741,6 @@ spec: --- # Source: hdfs/charts/hdfs-client-k8s/templates/client-deployment.yaml apiVersion: apps/v1 -apiVersion: extensions/v1beta1 kind: Deployment metadata: name: my-hdfs-client @@ -783,7 +782,7 @@ spec: name: my-hdfs-config --- # Source: hdfs/charts/hdfs-journalnode-k8s/templates/journalnode-statefulset.yaml -apiVersion: apps/v1beta1 +apiVersion: apps/v1 kind: StatefulSet metadata: name: my-hdfs-journalnode @@ -842,7 +841,7 @@ spec: storage: "20Gi" --- # Source: hdfs/charts/hdfs-namenode-k8s/templates/namenode-statefulset.yaml -apiVersion: apps/v1beta1 +apiVersion: apps/v1 kind: StatefulSet metadata: name: my-hdfs-namenode @@ -920,7 +919,7 @@ spec: storage: "100Gi" --- # Source: hdfs/charts/zookeeper/templates/statefulset.yaml -apiVersion: apps/v1beta1 +apiVersion: apps/v1 kind: StatefulSet metadata: name: my-hdfs-zookeeper diff --git a/tests/gold/kerberos.gold b/tests/gold/kerberos.gold index 7906b19..aa7f223 100644 --- a/tests/gold/kerberos.gold +++ b/tests/gold/kerberos.gold @@ -783,7 +783,7 @@ spec: # Source: hdfs/charts/hdfs-datanode-k8s/templates/datanode-daemonset.yaml # Deleting a daemonset may need some trick. See # https://github.com/kubernetes/kubernetes/issues/33245#issuecomment-261250489 -apiVersion: extensions/v1beta1 +apiVersion: apps/v1 kind: DaemonSet metadata: name: my-hdfs-datanode @@ -899,7 +899,6 @@ spec: --- # Source: hdfs/charts/hdfs-client-k8s/templates/client-deployment.yaml apiVersion: apps/v1 -apiVersion: extensions/v1beta1 kind: Deployment metadata: name: my-hdfs-client @@ -948,7 +947,7 @@ spec: name: my-hdfs-krb5-config --- # Source: hdfs/charts/hdfs-journalnode-k8s/templates/journalnode-statefulset.yaml -apiVersion: apps/v1beta1 +apiVersion: apps/v1 kind: StatefulSet metadata: name: my-hdfs-journalnode @@ -1038,7 +1037,7 @@ spec: storage: "20Gi" --- # Source: hdfs/charts/hdfs-krb5-k8s/templates/statefulset.yaml -apiVersion: apps/v1beta1 +apiVersion: apps/v1 kind: StatefulSet metadata: name: my-hdfs-krb5 @@ -1093,7 +1092,7 @@ spec: storage: "20Gi" --- # Source: hdfs/charts/hdfs-namenode-k8s/templates/namenode-statefulset.yaml -apiVersion: apps/v1beta1 +apiVersion: apps/v1 kind: StatefulSet metadata: name: my-hdfs-namenode @@ -1202,7 +1201,7 @@ spec: storage: "100Gi" --- # Source: hdfs/charts/zookeeper/templates/statefulset.yaml -apiVersion: apps/v1beta1 +apiVersion: apps/v1 kind: StatefulSet metadata: name: my-hdfs-zookeeper diff --git a/tests/gold/single-namenode.gold b/tests/gold/single-namenode.gold index 50852d0..90384fb 100644 --- a/tests/gold/single-namenode.gold +++ b/tests/gold/single-namenode.gold @@ -245,7 +245,7 @@ spec: # Source: hdfs/charts/hdfs-datanode-k8s/templates/datanode-daemonset.yaml # Deleting a daemonset may need some trick. See # https://github.com/kubernetes/kubernetes/issues/33245#issuecomment-261250489 -apiVersion: extensions/v1beta1 +apiVersion: apps/v1 kind: DaemonSet metadata: name: my-hdfs-datanode @@ -316,7 +316,6 @@ spec: --- # Source: hdfs/charts/hdfs-client-k8s/templates/client-deployment.yaml apiVersion: apps/v1 -apiVersion: extensions/v1beta1 kind: Deployment metadata: name: my-hdfs-client @@ -358,7 +357,7 @@ spec: name: my-hdfs-config --- # Source: hdfs/charts/hdfs-simple-namenode-k8s/templates/namenode-statefulset.yaml -apiVersion: apps/v1beta1 +apiVersion: apps/v1 kind: StatefulSet metadata: name: my-hdfs-namenode diff --git a/tests/gold/subchart-client.gold b/tests/gold/subchart-client.gold index cca0ec7..a02ec4f 100644 --- a/tests/gold/subchart-client.gold +++ b/tests/gold/subchart-client.gold @@ -126,7 +126,6 @@ MANIFEST: --- # Source: hdfs/charts/hdfs-client-k8s/templates/client-deployment.yaml apiVersion: apps/v1 -apiVersion: extensions/v1beta1 kind: Deployment metadata: name: my-hdfs-client diff --git a/tests/gold/subchart-datanode.gold b/tests/gold/subchart-datanode.gold index 1097803..8a9c53b 100644 --- a/tests/gold/subchart-datanode.gold +++ b/tests/gold/subchart-datanode.gold @@ -161,7 +161,7 @@ data: # Source: hdfs/charts/hdfs-datanode-k8s/templates/datanode-daemonset.yaml # Deleting a daemonset may need some trick. See # https://github.com/kubernetes/kubernetes/issues/33245#issuecomment-261250489 -apiVersion: extensions/v1beta1 +apiVersion: apps/v1 kind: DaemonSet metadata: name: my-hdfs-datanode diff --git a/tests/gold/subchart-journalnode.gold b/tests/gold/subchart-journalnode.gold index 09cf6f5..c3c1a63 100644 --- a/tests/gold/subchart-journalnode.gold +++ b/tests/gold/subchart-journalnode.gold @@ -149,7 +149,7 @@ spec: release: my-hdfs-journalnode --- # Source: hdfs/charts/hdfs-journalnode-k8s/templates/journalnode-statefulset.yaml -apiVersion: apps/v1beta1 +apiVersion: apps/v1 kind: StatefulSet metadata: name: my-hdfs-journalnode diff --git a/tests/gold/subchart-namenode.gold b/tests/gold/subchart-namenode.gold index d629da6..130bf3b 100644 --- a/tests/gold/subchart-namenode.gold +++ b/tests/gold/subchart-namenode.gold @@ -223,7 +223,7 @@ spec: release: my-hdfs-namenode --- # Source: hdfs/charts/hdfs-namenode-k8s/templates/namenode-statefulset.yaml -apiVersion: apps/v1beta1 +apiVersion: apps/v1 kind: StatefulSet metadata: name: my-hdfs-namenode diff --git a/tests/gold/subchart-zookeeper.gold b/tests/gold/subchart-zookeeper.gold index cdceac5..fdee9a6 100644 --- a/tests/gold/subchart-zookeeper.gold +++ b/tests/gold/subchart-zookeeper.gold @@ -343,7 +343,7 @@ spec: release: my-hdfs-zookeeper --- # Source: hdfs/charts/zookeeper/templates/statefulset.yaml -apiVersion: apps/v1beta1 +apiVersion: apps/v1 kind: StatefulSet metadata: name: my-hdfs-zookeeper diff --git a/tests/setup.sh b/tests/setup.sh index 78810f8..cf3121c 100755 --- a/tests/setup.sh +++ b/tests/setup.sh @@ -65,24 +65,18 @@ fi export PATH="${_MY_DIR}/bin:$PATH" -if [[ "${USE_MINIKUBE_DRIVER_NONE:-}" = "true" ]]; then - # Run minikube with none driver. - # See https://blog.travis-ci.com/2017-10-26-running-kubernetes-on-travis-ci-with-minikube - _VM_DRIVER="--vm-driver=none" - if [[ ! -x /usr/local/bin/nsenter ]]; then - # From https://engineering.bitnami.com/articles/implementing-kubernetes-integration-tests-in-travis.html - # Travis ubuntu trusty env doesn't have nsenter, needed for --vm-driver=none +check_or_build_nsenter() { which nsenter >/dev/null && return 0 - echo "INFO: Building 'nsenter' ..." -cat <<-EOF | docker run -i --rm -v "$(pwd):/build" ubuntu:14.04 >& nsenter.build.log - apt-get update - apt-get install -qy git bison build-essential autopoint libtool automake autoconf gettext pkg-config - git clone --depth 1 git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git /tmp/util-linux - cd /tmp/util-linux - ./autogen.sh - ./configure --without-python --disable-all-programs --enable-nsenter - make nsenter - cp -pfv nsenter /build + echo "INFO: Getting 'nsenter' ..." + cat <<-EOF | docker run -i --rm -v "$(pwd):/build" ubuntu:14.04 >& nsenter.build.log + apt-get update + apt-get install -qy git bison build-essential autopoint libtool automake autoconf gettext pkg-config + git clone --depth 1 git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git /tmp/util-linux + cd /tmp/util-linux + ./autogen.sh + ./configure --without-python --disable-all-programs --enable-nsenter + make nsenter + cp -pfv nsenter /build EOF if [ ! -f ./nsenter ]; then echo "ERROR: nsenter build failed, log:" @@ -91,6 +85,16 @@ EOF fi echo "INFO: nsenter build OK" sudo mv ./nsenter /usr/local/bin +} + +if [[ "${USE_MINIKUBE_DRIVER_NONE:-}" = "true" ]]; then + # Run minikube with none driver. + # See https://blog.travis-ci.com/2017-10-26-running-kubernetes-on-travis-ci-with-minikube + _VM_DRIVER="--vm-driver=none" + if [[ ! -x /usr/local/bin/nsenter ]]; then + # From https://engineering.bitnami.com/articles/implementing-kubernetes-integration-tests-in-travis.html + # Travis ubuntu trusty env doesn't have nsenter, needed for --vm-driver=none + check_or_build_nsenter fi fi