2 # SPDX-license-identifier: Apache-2.0
3 ##############################################################################
4 # Copyright (c) 2017-2018
5 # All rights reserved. This program and the accompanying materials
6 # are made available under the terms of the Apache License, Version 2.0
7 # which accompanies this distribution, and is available at
8 # http://www.apache.org/licenses/LICENSE-2.0
9 ##############################################################################
15 usage: setup.sh -p <PROVIDER>
21 while getopts ":p:" OPTION; do
34 "virtualbox" | "libvirt" )
35 export VAGRANT_DEFAULT_PROVIDER=${provider}
41 source /etc/os-release || source /usr/lib/os-release
46 INSTALLER_CMD="sudo -H -E zypper -q install -y --no-recommends"
48 # Vagrant installation
49 vagrant_pgp="pgp_keys.asc"
50 wget -q https://keybase.io/hashicorp/$vagrant_pgp
51 wget -q https://releases.hashicorp.com/vagrant/$vagrant_version/vagrant_${vagrant_version}_x86_64.rpm
52 gpg --quiet --with-fingerprint $vagrant_pgp
53 sudo rpm --import $vagrant_pgp
54 sudo rpm --checksig vagrant_${vagrant_version}_x86_64.rpm
55 sudo rpm --install vagrant_${vagrant_version}_x86_64.rpm
56 rm vagrant_${vagrant_version}_x86_64.rpm
59 case $VAGRANT_DEFAULT_PROVIDER in
61 wget -q http://download.virtualbox.org/virtualbox/rpm/opensuse/$VERSION/virtualbox.repo -P /etc/zypp/repos.d/
62 $INSTALLER_CMD --enablerepo=epel dkms
63 wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | rpm --import -
64 packages+=(VirtualBox-5.1)
67 # vagrant-libvirt dependencies
68 packages+=(qemu libvirt libvirt-devel ruby-devel gcc qemu-kvm zlib-devel libxml2-devel libxslt-devel make)
70 packages+=(nfs-kernel-server)
77 INSTALLER_CMD="sudo -H -E apt-get -y -q=3 install"
79 # Vagrant installation
80 wget -q https://releases.hashicorp.com/vagrant/$vagrant_version/vagrant_${vagrant_version}_x86_64.deb
81 sudo dpkg -i vagrant_${vagrant_version}_x86_64.deb
82 rm vagrant_${vagrant_version}_x86_64.deb
84 case $VAGRANT_DEFAULT_PROVIDER in
86 echo "deb http://download.virtualbox.org/virtualbox/debian trusty contrib" >> /etc/apt/sources.list
87 wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
88 wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
89 packages+=(virtualbox-5.1 dkms)
92 # vagrant-libvirt dependencies
93 packages+=(qemu libvirt-bin ebtables dnsmasq libxslt-dev libxml2-dev libvirt-dev zlib1g-dev ruby-dev)
95 packages+=(nfs-kernel-server)
102 PKG_MANAGER=$(which dnf || which yum)
103 sudo $PKG_MANAGER updateinfo
104 INSTALLER_CMD="sudo -H -E ${PKG_MANAGER} -q -y install"
106 # Vagrant installation
107 wget -q https://releases.hashicorp.com/vagrant/$vagrant_version/vagrant_${vagrant_version}_x86_64.rpm
108 $INSTALLER_CMD vagrant_${vagrant_version}_x86_64.rpm
109 rm vagrant_${vagrant_version}_x86_64.rpm
111 case $VAGRANT_DEFAULT_PROVIDER in
113 wget -q http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo -P /etc/yum.repos.d
114 $INSTALLER_CMD --enablerepo=epel dkms
115 wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | rpm --import -
116 packages+=(VirtualBox-5.1)
119 # vagrant-libvirt dependencies
120 packages+=(qemu libvirt libvirt-devel ruby-devel gcc qemu-kvm)
122 packages+=(nfs-utils nfs-utils-lib)
129 ${INSTALLER_CMD} ${packages[@]}
130 if [ $VAGRANT_DEFAULT_PROVIDER == libvirt ]; then
131 vagrant plugin install vagrant-libvirt
132 sudo usermod -a -G libvirt $USER