aboutsummaryrefslogtreecommitdiffstats
path: root/vagrant
diff options
context:
space:
mode:
authorVictor Morales <victor.morales@intel.com>2018-11-16 08:29:07 -0800
committerVictor Morales <victor.morales@intel.com>2018-11-20 07:57:26 -0800
commit04f9ce6f4f7d399105172ba841fefa6e376f2572 (patch)
treec86c0455679c15082dfb9b66937c1f709021f802 /vagrant
parent1b76b8fada122365b9adf99cc305721cc114d30a (diff)
Document All-in-One Bare-Metal provisioning
This document describe the proces to do an All-in-One deployment in a Bare-Metal deployment, listing the Hardware and Software minimal requirements, it also uses the aio.sh bash script for reducing the number of manual steps. Vagrantfile and installer.sh has been modified to disable functional tests by default and includes the passwordless sudo verification. Change-Id: Iec7b0bb37d2a46342e6b7e60bed37dbdf2019a10 Signed-off-by: Victor Morales <victor.morales@intel.com> Issue-ID: MULTICLOUD-408
Diffstat (limited to 'vagrant')
-rw-r--r--vagrant/Vagrantfile2
-rwxr-xr-xvagrant/aio.sh58
-rwxr-xr-xvagrant/installer.sh16
3 files changed, 72 insertions, 4 deletions
diff --git a/vagrant/Vagrantfile b/vagrant/Vagrantfile
index c4d35368..8cfa4e04 100644
--- a/vagrant/Vagrantfile
+++ b/vagrant/Vagrantfile
@@ -116,7 +116,7 @@ Vagrant.configure("2") do |config|
installer.vm.network :private_network, :ip => "10.10.10.2", :type => :static
installer.vm.synced_folder '../', '/root/go/src/k8-plugin-multicloud/', type: sync_type
installer.vm.provision 'shell' do |sh|
- sh.env = {'KRD_ENABLE_TESTS': 'false'}
+ sh.env = {'KRD_PLUGIN_ENABLED': 'true'}
sh.path = "main.sh"
end
end
diff --git a/vagrant/aio.sh b/vagrant/aio.sh
new file mode 100755
index 00000000..413e4672
--- /dev/null
+++ b/vagrant/aio.sh
@@ -0,0 +1,58 @@
+#!/bin/bash
+# SPDX-license-identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2018
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+set -o errexit
+set -o nounset
+set -o pipefail
+
+if [[ $(whoami) != 'root' ]];then
+ echo "This bash script must be executed as root user"
+ exit 1
+fi
+
+echo "Cloning and configuring KRD project..."
+git clone https://git.onap.org/multicloud/k8s/
+cd k8s/vagrant/
+cat <<EOL > inventory/hosts.ini
+[all]
+localhost
+
+[kube-master]
+localhost
+
+[kube-node]
+localhost
+
+[etcd]
+localhost
+
+[ovn-central]
+localhost
+
+[ovn-controller]
+localhost
+
+[virtlet]
+localhost
+
+[k8s-cluster:children]
+kube-node
+kube-master
+EOL
+sed -i '/andrewrothstein.kubectl/d' playbooks/configure-*.yml
+echo -e "\n\n\n" | ssh-keygen -t rsa -N ""
+cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
+chmod og-wx ~/.ssh/authorized_keys
+
+echo "Enabling nested-virtualization"
+./node.sh
+
+echo "Deploying KRD project"
+./installer.sh | tee krd_installer.log
diff --git a/vagrant/installer.sh b/vagrant/installer.sh
index b621afaa..860f63d6 100755
--- a/vagrant/installer.sh
+++ b/vagrant/installer.sh
@@ -158,7 +158,7 @@ function install_plugin {
pushd $GOPATH/src/k8-plugin-multicloud/deployments
./build.sh
- if [[ "${testing_enabled}" = "true" ]]; then
+ if [[ "${testing_enabled}" == "true" ]]; then
docker-compose up -d
pushd $krd_tests
for functional_test in plugin plugin_edgex; do
@@ -187,6 +187,16 @@ function _print_kubernetes_info {
echo "Admin password: secret" >> $k8s_info_file
}
+if ! sudo -n "true"; then
+ echo ""
+ echo "passwordless sudo is needed for '$(id -nu)' user."
+ echo "Please fix your /etc/sudoers file. You likely want an"
+ echo "entry like the following one..."
+ echo ""
+ echo "$(id -nu) ALL=(ALL) NOPASSWD: ALL"
+ exit 1
+fi
+
if [[ -n "${KRD_DEBUG}" ]]; then
set -o xtrace
verbose="-vvv"
@@ -200,7 +210,7 @@ krd_inventory=$krd_inventory_folder/hosts.ini
krd_playbooks=$krd_folder/playbooks
krd_tests=$krd_folder/tests
k8s_info_file=$krd_folder/k8s_info.log
-testing_enabled=${KRD_ENABLE_TESTS:-true}
+testing_enabled=${KRD_ENABLE_TESTS:-false}
mkdir -p $log_folder
mkdir -p /opt/csar
@@ -216,7 +226,7 @@ fi
apt-get update
install_k8s
install_addons
-if [[ "${KRD_PLUGIN_ENABLED:-true}" ]]; then
+if [[ "${KRD_PLUGIN_ENABLED:-false}" ]]; then
install_plugin
fi
_print_kubernetes_info