aboutsummaryrefslogtreecommitdiffstats
path: root/deployment/heat/onap-oom/k8s_vm_install.sh
diff options
context:
space:
mode:
authorGary Wu <gary.i.wu@huawei.com>2018-11-14 10:01:37 -0800
committerGary Wu <gary.i.wu@huawei.com>2018-11-14 12:57:11 -0800
commitb718998b544f4922bbace252477f74f1e3c76763 (patch)
treea93595a736d6567a739eb64c14d6cc85ef8303bf /deployment/heat/onap-oom/k8s_vm_install.sh
parent50fe3bb96fd34355aea2ec50199e328f59d16596 (diff)
Refactor k8s VM init script to use cloud-init
Refactor k8s VM init script to use cloud-init to do apt dist-upgrade and reboot first before installing rancher agent. Change-Id: Id3d58d276673aff1d0d14bee103d1cdd9f7a3d3e Issue-ID: INT-586 Signed-off-by: Gary Wu <gary.i.wu@huawei.com>
Diffstat (limited to 'deployment/heat/onap-oom/k8s_vm_install.sh')
-rw-r--r--deployment/heat/onap-oom/k8s_vm_install.sh60
1 files changed, 60 insertions, 0 deletions
diff --git a/deployment/heat/onap-oom/k8s_vm_install.sh b/deployment/heat/onap-oom/k8s_vm_install.sh
new file mode 100644
index 000000000..e5b843e5d
--- /dev/null
+++ b/deployment/heat/onap-oom/k8s_vm_install.sh
@@ -0,0 +1,60 @@
+#!/bin/bash -x
+# Copyright 2018 Huawei Technologies Co., Ltd.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+export DEBIAN_FRONTEND=noninteractive
+echo "__host_private_ip_addr__ $(hostname)" >> /etc/hosts
+printenv
+
+mkdir -p /opt/config
+echo "__docker_version__" > /opt/config/docker_version.txt
+echo "__rancher_ip_addr__" > /opt/config/rancher_ip_addr.txt
+echo "__rancher_private_ip_addr__" > /opt/config/rancher_private_ip_addr.txt
+echo "__host_private_ip_addr__" > /opt/config/host_private_ip_addr.txt
+
+mkdir -p /etc/docker
+if [ ! -z "__docker_proxy__" ]; then
+ cat > /etc/docker/daemon.json <<EOF
+{
+ "insecure-registries" : ["__docker_proxy__"]
+}
+EOF
+fi
+if [ ! -z "__apt_proxy__" ]; then
+ cat > /etc/apt/apt.conf.d/30proxy <<EOF
+Acquire::http { Proxy "http://__apt_proxy__"; };
+Acquire::https::Proxy "DIRECT";
+EOF
+fi
+
+# tune ext4 for performance
+sed -i 's/defaults/defaults,noatime,commit=60,barrier=0/' /etc/fstab
+
+mkdir -p /dockerdata-nfs
+echo "__rancher_private_ip_addr__:/dockerdata-nfs /dockerdata-nfs nfs noauto,noatime,fg,retry=1,x-systemd.automount,_netdev,soft,nolock,intr,tcp,actimeo=1800 0 0" | tee -a /etc/fstab
+
+# workaround for OpenStack intermittent failure to change default apt mirrors
+sed -i 's|http://archive.ubuntu.com|http://nova.clouds.archive.ubuntu.com|g' /etc/apt/sources.list
+
+while ! hash jq &> /dev/null; do
+ apt-get -y update
+ apt-get -y dist-upgrade
+ apt-get -y install linux-image-extra-$(uname -r) apt-transport-https ca-certificates curl software-properties-common jq nfs-common
+ sleep 10
+done
+
+# install docker 17.03
+while ! hash docker &> /dev/null; do
+ curl -s https://releases.rancher.com/install-docker/__docker_version__.sh | sh
+ usermod -aG docker ubuntu
+ sleep 10
+done
+apt-mark hold docker-ce
+
+# Enable autorestart when VM reboots
+update-rc.d k8s_vm_init_serv defaults