Add HTTPS to DFC tests
[integration.git] / bootstrap / vagrant-minimal-onap / Vagrantfile
index 3ffa6a3..e0ddafd 100644 (file)
@@ -13,47 +13,59 @@ os_env = "#{synced_folder_config}/dot_env"
 cluster_yml = "cluster.yml"
 apt_prefs_dir = "/etc/apt/apt.conf.d"
 apt_prefs = "95silent-approval"
+helm_timeout = "1800"
+helm_master_password = "vagrant"
 
 vm_memory = 1 * 1024
 vm_memory_os = 4 * 1024
-vm_memory_onap = 20 * 1024
+vm_memory_onap = 64 * 1024
 vm_cpu = 1
-vm_cpus = 4
+vm_cpus = 8
 vm_box = "generic/ubuntu1804"
+vm_box_op = "generic/ubuntu2004"
 vm_disk = 32
 vm_disk_onap = 64
+vm_storage_pool = "default"
 
 operation = {
   name: 'operator',
   hostname: 'operator',
   ip: '172.17.4.254',
+  box: vm_box_op,
   cpus: vm_cpu,
   memory: vm_memory,
-  disk: vm_disk
+  disk: vm_disk,
+  pool: vm_storage_pool
 }
 devstack = {
   name: 'devstack',
   hostname: 'devstack',
   ip: '172.17.4.200',
+  box: vm_box,
   cpus: vm_cpu,
   memory: vm_memory_os,
-  disk: vm_disk
+  disk: vm_disk,
+  pool: vm_storage_pool
 }
 control = {
   name: 'control',
   hostname: 'control',
   ip: '172.17.4.100',
+  box: vm_box,
   cpus: vm_cpu,
   memory: vm_memory,
-  disk: vm_disk
+  disk: vm_disk,
+  pool: vm_storage_pool
 }
 worker = {
   name: 'worker',
   hostname: 'worker',
   ip: '172.17.4.101',
+  box: vm_box,
   cpus: vm_cpus,
   memory: vm_memory_onap,
-  disk: vm_disk_onap
+  disk: vm_disk_onap,
+  pool: vm_storage_pool
 }
 
 cluster = [] << control << worker
@@ -103,8 +115,28 @@ $install_make = <<-SCRIPT
   apt-get install make
 SCRIPT
 
+$install_docker = <<-SCRIPT
+  apt-get update
+  echo "Setting up 'docker' repository"
+  apt-get install \
+    apt-transport-https \
+    ca-certificates \
+    curl \
+    gnupg-agent \
+    software-properties-common
+  curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
+  add-apt-repository \
+   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
+   $(lsb_release -cs) \
+   stable"
+  apt-get update
+
+  echo "Installing 'docker'"
+  apt-get install docker-ce docker-ce-cli containerd.io
+SCRIPT
+
 $resize_disk = <<-SCRIPT
-  DEV=${1:-sda}
+  DEV=${1:-vda}
   PART=${2:-3}
   echo ", +" | sfdisk -N "$PART" "/dev/$DEV" --no-reread
   partprobe
@@ -152,7 +184,7 @@ $rke_up = "rke up"
 $rke_down = "rke remove --force || true" # best effort
 
 $get_oom = <<-SCRIPT
-  BRANCH="${1:-5.0.1-ONAP}"
+  BRANCH="${1:-7.0.0-ONAP}"
   REPO="${2:-https://git.onap.org/oom}"
   git clone -b "$BRANCH" "$REPO" --recurse-submodules
 SCRIPT
@@ -164,7 +196,7 @@ $setup_helm_cluster = <<-SCRIPT
   kubectl config use-context onap
   kubectl -n kube-system create serviceaccount tiller
   kubectl create clusterrolebinding tiller --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
-  helm init --service-account tiller
+  helm init --stable-repo-url https://charts.helm.sh/stable --service-account tiller
   kubectl -n kube-system rollout status deploy/tiller-deploy
 SCRIPT
 
@@ -173,16 +205,18 @@ $setup_helm_repo = <<-SCRIPT
   helm serve &
   sleep 3
   helm repo add local http://127.0.0.1:8879
-  make -C ${HOME}/oom/kubernetes all
-  make -C ${HOME}/oom/kubernetes onap
+  make -e SKIP_LINT=TRUE -C ${HOME}/oom/kubernetes all
 SCRIPT
 
 $deploy_onap = <<-SCRIPT
-  OVERRIDE="${1:-${HOME}/oom/kubernetes/onap/resources/environments/minimal-onap.yaml}"
+  OVERRIDE="${1:-${HOME}/oom/kubernetes/onap/resources/environments/core-onap.yaml}"
 
   ENV="${2:-#{os_env}}"
   export $(cat "$ENV" | xargs)
 
+  TIMEOUT="${3:-#{helm_timeout}}"
+  MASTER_PASSWORD="${4:-#{helm_master_password}}"
+
   encrypt () {
     KEY="${HOME}/oom/kubernetes/so/resources/config/mso/encryption.key"
     echo -n "$1" \
@@ -194,13 +228,15 @@ $deploy_onap = <<-SCRIPT
 
   export KUBECONFIG="${HOME}/.kube/config.onap"
 
-  helm deploy minimal local/onap --namespace onap -f "$OVERRIDE" --verbose --timeout 900
+  helm deploy core local/onap --verbose \
+    --set global.masterPassword="$MASTER_PASSWORD" \
+    --namespace onap --timeout "$TIMEOUT" -f "$OVERRIDE"
 SCRIPT
 
 Vagrant.configure('2') do |config|
   all.each do |machine|
     config.vm.define machine[:name] do |config|
-      config.vm.box = vm_box
+      config.vm.box = machine[:box]
       config.vm.hostname = machine[:hostname]
 
       config.vm.provider :virtualbox do |v|
@@ -213,6 +249,7 @@ Vagrant.configure('2') do |config|
         v.memory = machine[:memory]
         v.cpus = machine[:cpus]
         v.machine_virtual_size = machine[:disk] # set at VM creation
+        v.storage_pool_name = machine[:pool]
       end
 
       config.vm.network :private_network, ip: machine[:ip]
@@ -232,7 +269,7 @@ Vagrant.configure('2') do |config|
 
       if machine[:name] == 'worker'
         config.vm.provision "customize_worker", type: :shell, path: "tools/imported/openstack-k8s-workernode.sh"
-        config.vm.provision "fix_group_worker", type: :shell, inline: $add_to_docker_group, args: vagrant_user
+        config.vm.provision "fix_groups_worker", type: :shell, inline: $add_to_docker_group, args: vagrant_user
         config.vm.provision "resize_disk", type: :shell, inline: $resize_disk
       end
 
@@ -256,6 +293,8 @@ Vagrant.configure('2') do |config|
           s.args = synced_folder_tools_config
         end
 
+        config.vm.provision "install_docker", type: :shell, inline: $install_docker
+        config.vm.provision "fix_groups_operator", type: :shell, inline: $add_to_docker_group, args: vagrant_user
         config.vm.provision "install_sshpass", type: :shell, inline: $install_sshpass
         config.vm.provision "generate_key", type: :shell, privileged: false, inline: $generate_key, args: operator_key