From 412d560bcf222fbe361d9e898c62441a13e5ddc7 Mon Sep 17 00:00:00 2001
From: Maxime Guyot <Miouge1@users.noreply.github.com>
Date: Wed, 29 Apr 2020 16:14:24 +0200
Subject: [PATCH] Add CI for 16x ubuntu servers (#6040)

---
 .gitlab-ci/vagrant.yml                       | 12 +++++++++---
 Vagrantfile                                  |  2 +-
 tests/files/vagrant_ubuntu18-flannel.rb      |  0
 tests/files/vagrant_ubuntu18-weave-medium.rb |  6 ++++++
 tests/scripts/vagrant_clean.sh               |  2 ++
 5 files changed, 18 insertions(+), 4 deletions(-)
 create mode 100644 tests/files/vagrant_ubuntu18-flannel.rb
 create mode 100644 tests/files/vagrant_ubuntu18-weave-medium.rb

diff --git a/.gitlab-ci/vagrant.yml b/.gitlab-ci/vagrant.yml
index a6c0e002d..65b486bc3 100644
--- a/.gitlab-ci/vagrant.yml
+++ b/.gitlab-ci/vagrant.yml
@@ -1,7 +1,7 @@
 ---
 
 molecule_tests:
-  tags: [vagrant]
+  tags: [c3.small.x86]
   only: [/^pr-.*$/]
   except: ['triggers']
   image: quay.io/kubespray/vagrant:$KUBESPRAY_VERSION
@@ -22,7 +22,8 @@ molecule_tests:
     CI_PLATFORM: "vagrant"
     SSH_USER: "kubespray"
     VAGRANT_DEFAULT_PROVIDER: "libvirt"
-  tags: [vagrant]
+    KUBESPRAY_VAGRANT_CONFIG: tests/files/${CI_JOB_NAME}.rb
+  tags: [c3.small.x86]
   only: [/^pr-.*$/]
   except: ['triggers']
   image: quay.io/kubespray/vagrant:$KUBESPRAY_VERSION
@@ -40,4 +41,9 @@ molecule_tests:
 vagrant_ubuntu18-flannel:
   stage: deploy-part2
   extends: .vagrant
-  when: on_success
\ No newline at end of file
+  when: on_success
+
+vagrant_ubuntu18-weave-medium:
+  stage: deploy-part2
+  extends: .vagrant
+  when: manual
\ No newline at end of file
diff --git a/Vagrantfile b/Vagrantfile
index 0bba6fe8c..a4139b788 100644
--- a/Vagrantfile
+++ b/Vagrantfile
@@ -7,7 +7,7 @@ require 'fileutils'
 
 Vagrant.require_version ">= 2.0.0"
 
-CONFIG = File.join(File.dirname(__FILE__), "vagrant/config.rb")
+CONFIG = File.join(File.dirname(__FILE__), ENV['KUBESPRAY_VAGRANT_CONFIG'] || 'vagrant/config.rb')
 
 COREOS_URL_TEMPLATE = "https://storage.googleapis.com/%s.release.core-os.net/amd64-usr/current/coreos_production_vagrant.json"
 FLATCAR_URL_TEMPLATE = "https://%s.release.flatcar-linux.net/amd64-usr/current/flatcar_production_vagrant.json"
diff --git a/tests/files/vagrant_ubuntu18-flannel.rb b/tests/files/vagrant_ubuntu18-flannel.rb
new file mode 100644
index 000000000..e69de29bb
diff --git a/tests/files/vagrant_ubuntu18-weave-medium.rb b/tests/files/vagrant_ubuntu18-weave-medium.rb
new file mode 100644
index 000000000..16be3aa64
--- /dev/null
+++ b/tests/files/vagrant_ubuntu18-weave-medium.rb
@@ -0,0 +1,6 @@
+$num_instances = 16
+$vm_memory ||= 1600
+$os = "ubuntu1804"
+$network_plugin = "weave"
+$kube_master_instances = 1
+$etcd_instances = 1
diff --git a/tests/scripts/vagrant_clean.sh b/tests/scripts/vagrant_clean.sh
index 981c2d2f8..a29b52191 100755
--- a/tests/scripts/vagrant_clean.sh
+++ b/tests/scripts/vagrant_clean.sh
@@ -3,6 +3,8 @@ set -euxo pipefail
 
 # Cleanup vagrant VMs to avoid name conflicts
 
+apt-get install -y libvirt-clients
+
 for i in $(virsh list --name)
 do
     virsh destroy "$i"
-- 
GitLab