deploy/k8s: support k8s deployment on aarch64 83/48583/5
authorYibo Cai <yibo.cai@arm.com>
Thu, 7 Dec 2017 09:15:07 +0000 (17:15 +0800)
committerYibo Cai <yibo.cai@arm.com>
Sun, 10 Dec 2017 01:19:51 +0000 (01:19 +0000)
Kubespray default variables are for x86_64. To support deploying
AArch64 node, many variables must be redefined. This patch adds a
file to override default kubespray variables, so we can track all
changes in compass4nfv code.

Change-Id: Ic6180ea9c50302d1a6cef1e0e7a3abea6699ef55
Signed-off-by: Yibo Cai <yibo.cai@arm.com>
deploy/adapters/ansible/kubernetes/roles/kargo/files/extra-vars-aarch64.yml [new file with mode: 0644]
deploy/adapters/ansible/kubernetes/roles/kargo/files/extra-vars.yml [new file with mode: 0644]
deploy/adapters/ansible/kubernetes/roles/kargo/tasks/main.yml

diff --git a/deploy/adapters/ansible/kubernetes/roles/kargo/files/extra-vars-aarch64.yml b/deploy/adapters/ansible/kubernetes/roles/kargo/files/extra-vars-aarch64.yml
new file mode 100644 (file)
index 0000000..26e3fa7
--- /dev/null
@@ -0,0 +1,33 @@
+---
+# Override default kubespray variables
+
+# roles/download/defaults/main.yml
+etcd_version: v3.2.4-arm64
+flannel_version: "v0.8.0-arm64"
+flannel_cni_image_repo: "linaro/flannel-cni-arm64"
+hyperkube_image_repo: "gcr.io/google-containers/hyperkube-arm64"
+hyperkube_image_tag: "{{ kube_version }}"
+pod_infra_image_repo: "gcr.io/google_containers/pause-arm64"
+nginx_image_tag: 1.13
+kubedns_image_repo: "gcr.io/google_containers/k8s-dns-kube-dns-arm64"
+dnsmasq_nanny_image_repo: "gcr.io/google_containers/k8s-dns-dnsmasq-nanny-arm64"
+dnsmasq_sidecar_image_repo: "gcr.io/google_containers/k8s-dns-sidecar-arm64"
+kubednsautoscaler_image_repo: "gcr.io/google_containers/\
+cluster-proportional-autoscaler-arm64"
+
+# inventory/group_vars/k8s-cluster.yml
+kube_network_plugin: flannel
+helm_enabled: false
+docker_options: "--insecure-registry={{ kube_service_addresses }} \
+--graph={{ docker_daemon_graph }}  {{ docker_log_opts }} \
+--add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \
+--default-runtime=docker-runc \
+--exec-opt native.cgroupdriver=systemd \
+--userland-proxy-path=/usr/libexec/docker/docker-proxy-current \
+--signature-verification=false"
+
+# roles/docker/vars/redhat.yml
+docker_package_info:
+  pkg_mgr: yum
+  pkgs:
+    - name: docker
diff --git a/deploy/adapters/ansible/kubernetes/roles/kargo/files/extra-vars.yml b/deploy/adapters/ansible/kubernetes/roles/kargo/files/extra-vars.yml
new file mode 100644 (file)
index 0000000..e13e33c
--- /dev/null
@@ -0,0 +1,7 @@
+---
+# Override default kubespray variables
+
+# Just a placeholder to satisfy ansible
+dummy_var: 0
+
+# helm_enabled: true
index 4df8dff..2763e53 100644 (file)
     regexp: '^helm_enabled:'
     line: 'helm_enabled: {{ helm_flag }}'
 
+- name: copy overrided variables
+  copy:
+    src: "{{ item }}"
+    dest: /opt/kargo_k8s/extra-vars.yml
+  with_first_found:
+    - extra-vars-{{ ansible_architecture }}.yml
+    - extra-vars.yml
+
 - name: run kargo playbook
   shell: |
     cd /opt/kargo_k8s
-    ansible-playbook -i inventory/inventory.cfg cluster.yml -b -v 2>&1  | tee kargo.log
+    ansible-playbook -i inventory/inventory.cfg cluster.yml \
+                     -e "@extra-vars.yml" -b -v 2>&1  | tee kargo.log
   tags:
     - ansible