diff options
author | Victor Morales <victor.morales@intel.com> | 2018-11-16 08:29:07 -0800 |
---|---|---|
committer | Victor Morales <victor.morales@intel.com> | 2018-11-20 07:57:26 -0800 |
commit | 04f9ce6f4f7d399105172ba841fefa6e376f2572 (patch) | |
tree | c86c0455679c15082dfb9b66937c1f709021f802 /vagrant | |
parent | 1b76b8fada122365b9adf99cc305721cc114d30a (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/Vagrantfile | 2 | ||||
-rwxr-xr-x | vagrant/aio.sh | 58 | ||||
-rwxr-xr-x | vagrant/installer.sh | 16 |
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 |