There should be no Qemu param "namespace" added for
emulated nvme drive (i.e. default should be used).
This condition was faulty because ENV variable storing
this information is a text and we check for != 1 as for
and integer.
Change-Id: Ic87aadbbc7eb1ba1ec700bccdb8864726a6562e1
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4159
Community-CI: Broadcom CI
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Pawel Piatek <pawelx.piatek@intel.com>
Reviewed-by: Mellanox Build Bot
Previous check was always returning true forcing vagrant to add
additional net device to each VM with the same local ip address.
This interface is not needed by vagrant for communicating with
most of the VMs so make sure it's added for the openstack tests
only.
Change-Id: I64092d5c113d3b5f4575f83db640bf5dd40d4bf8
Signed-off-by: Michal Berger <michalx.berger@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4542
Reviewed-by: Mellanox Build Bot
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
The main purpose of this is to force vagrant into using its own
ssh keys when password authentication is requested. Normally,
when ssh.password is defined, vagrant will attempt to inject its
own ssh key, by using provided password first, and re-use the key
for the new ssh session to provision the VM.
However, some vagrant boxes may come with their own embedded
Vagrantfiles which define custom ssh keys. If password auth is
requested for such boxes, vagrant will not use its own key, nor
the ones that may be defined by the vagrant box. Instead, it will
fallback to interactive, password authentication. From the CI pool
perspective this is not desirable.
On other note, this ties to the ongoing work of building indepdent
images for the CI where vagrant boxes will be deployed with a
custom ssh key alredy provided inside the box.
Related work:
trello.com/c/gAfo9mH1/208-vagrant-improvements-box-packaging
trello.com/c/9Dxp2Y9c/248-packaging-centos78-and-freebsd1112-with-packer
Change-Id: I49035b426519d9b24bcdab573d335ee622130560
Signed-off-by: Michal Berger <michalx.berger@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4283
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
- reorganize the code to cleanup main loop
- other small syntax improvements
Signed-off-by: Pawel Piatek <pawelx.piatek@intel.com>
Change-Id: I0a2b9ac9e78db2f96ed49d3e7e4d938425c76fa9
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3720
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
- rename to get_box_type
- use hash to map distro to box type
Signed-off-by: Pawel Piatek <pawelx.piatek@intel.com>
Change-Id: I5608b04d813ad1b37ae4dbbc418217a61bd96a52
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3480
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
By default, vagrant executes rsync with --copy-links argument which
instead of copying the actual symlink is actually copying the file
given link points to. Since symlinks are part of the spdk repo,
they need to be synced "as is" - when symlinks are replaced with
actual regular files, git will report that as a typechange, messing
up status checks that our tests perform.
Change-Id: I72814547c3e876ab2adbc779159ca991f18cbe86
Signed-off-by: Michal Berger <michalx.berger@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3375
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Community-CI: Mellanox Build Bot
The original image was prepared using SCSI bus.
Using IDE explicitly speeds up boot process as the
system does not have to look where to boot from.
Change-Id: Ia9f649d1c46c591135833c02ed60b3c960ad8b98
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2840
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
This reverts commit 436b9be9d0.
Reason:
these change makes Vagrantfile rely on env variables (eg. spdk_dir),
which are only set when running scripts/vagrant/create_vbox.sh script.
After create_vbox.sh has finished env variables are not accessible,
but still needed to work with Vagrantfile using Vagrant commands
like 'vagrant ssh' or 'vagrant reload', etc. This results in
configuration errors from Vagrant and scripts being unusable.
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Change-Id: I135c42d248c13dfa93c2210dabce49df8116e8f0
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3055
Reviewed-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Allow to specify additional argument which will tell Vagrant to enable
CMB on given nvme drive. The format of the argument is any string which
is then simply converted to plain "true". E.g.
./create_vbox.sh -b "/path_to_nvme_img,nvme,3,true"
Change-Id: I7de55e46491318b082bf4e2165260091b44d60f0
Signed-off-by: Michal Berger <michalx.berger@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2725
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Clearlinux after installation has no empty environment variables,
which caused test failtures.
Signed-off-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Change-Id: I8e0673a22c1fe3cf93232704bf8950be357a21b4
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2717
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Maciej Szwed <maciej.szwed@intel.com>
Disable default synced folder. We have our own set of
directories to synchronize so this is not needed.
Change-Id: Ie52e38af94fc2c403e3d3f095071833b9df09c9c
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1158
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Vitaliy Mysak <vitaliy.mysak@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I66c1c965d9de8b4e9625c1f1850cbb28d11138ad
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1684
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Maciej Wawryk <maciejx.wawryk@intel.com>
In order to have all the boxes fully functional we
need to select the proper tool for synced folders.
FreeBSD boxes fail to set proxy properly via vagrant-
proxyconf plugin, so they fail to install rsync and sshfs
clients. NFS is pre-installed so we can use it.
Other boxes, like generic/fedora*, have issues using NFS
so we need to use sshfs/rsync instead.
Change-Id: Ic191b5a80dbd43479943c1739971abdff39baf41
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1581
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Sync "output" directory (containing all build results,
like doc, coverage, test completions, etc.)
from guest to host.
Change-Id: I9a57a72eb610aacde011fc39bb8d39c74486cef1
Signed-off-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1044
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Some time ago I created a patch which unified all boxes
URLs to generic/* which come from a single author/company
and seemed to be quite universal.
Unfortunately some of the boxes are not that generic as
the name suggest, so I am reverting my change and will
use boxes from vaious sources.
Ubuntu 1804 - had heavy DNS issues due to hardcoded
addresses in resolved.conf. Very hard if not impossible
to fix if working with synced folders like we do.
Centos 7 and 8 - sshfs not available by default. Also
had some other minor quirks. Official boxes available
so let's use them.
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Change-Id: I514d3b92c6ac5844b1929fdadfd35d6079933247
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1622
Reviewed-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
These can't be hardcoded to a single location. It makes
running multiple VMs with OCSSD emulation impossible.
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Change-Id: I4ce0412fc9fc4542670a9e70c08219003e41828b
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1488
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
We are not using VMs to run Vhost tests (at least at
the moment) and these steps are outdated. These steps
will need a re-write if we decide to put them back in,
so we can remove them for now.
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Change-Id: I61d09bdc481814d8bcf6fe86ed4ccd84b36ad8d9
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1155
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Vagrant fails during creation virtual machine using custom qemu emulator.
Setting machine type to "pc" resolved this problem.
Signed-off-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Change-Id: I1822439bb2235b5881d3c331c378017928953ac4
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1248
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Build local vagrant box and add it to local vagrant box list.
Check if spdk box exist and use it instead of generic boxes.
Signed-off-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Change-Id: Ib3b87c9783354680657f96b5b5adea1706712c5e
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/848
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Remove unnecessary case statement in Vagrantfile
Signed-off-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Change-Id: I6aa5d0650d268851ee5af73ffc2aa54d9396fec5
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/834
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
- Use "scsi" libvirt disk bus
generic/freebsd boxes do not boot with default
"virtio" bus
- Manually provision proxy settings
Proxyconf plugin seems to not work with generic/freebsd boxes.
Adjust shell and pkg proxy settings manually via scripts.
- Disable synced_folders provisioning
FreeBSD boxes don't have rsync and NFS installed by default.
Vagrantfile "synced_folders" step executes before "priovision"
steps responsible for setting proxiy settings, therefore we
are unable to install it.
Change-Id: I1386ec6e89cff6b8412e97e4df95a6149da2a02c
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/477805
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Community-CI: SPDK CI Jenkins <sys_sgci@intel.com>
Default emulator does not support OCSSD and Multi-namespace NVMe's.
Add if statement to check if user change emulator.
Signed-off-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Change-Id: I30858bfed0c2e571c1aefa6ff7ccbf3bc436a294
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/476454
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Community-CI: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com>
Unify all distro selections to use the same generic/* source
for downloading boxes.
"generic/" is provided by Roboxes.
Change-Id: Id5d704e35313c382a564da2a50177766293a88c1
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/476160
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
There is no "wheel" group on Ubuntu distros. Chown command
caused Vagrantfile to fail.
While at it - put the whole bash command flow into a variable
and run it as part of single "shell" provision step instead of
doing it in three steps.
Change-Id: I2853d4176f66f07f1762b339b20ced3386486f87
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/476159
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Current scripts/vagrant allow us to create only a single file for
emulating NVMe with single namespace.
This patch allow to create multiple emulated drives with multiple namespaces.
This patch also allows to emulate OCSSD disks which are used in OCF tests.
Change-Id: Ia7a4667bd405ba18235e72bcdf608270002b5242
Signed-off-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/466555
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Seth Howell <seth.howell@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Add Arch Linux option to our Vagrant scripts.
We will probably need this for nightly tests against
latest versions of software we depend on.
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Change-Id: I2dd1d69cbb286625343fd5e70ace0d8da1218825
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/466832
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Seth Howell <seth.howell@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Reviewed-by: Maciej Szwed <maciej.szwed@intel.com>
We want to use Vagrant scripts in our CI.
It will allow us to remove statically configured
virtual machines and spawn new instances dynamically.
This patch allows us to use custom version of emulator
instead of preinstalled on host.
Signed-off-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Change-Id: Iff79cd28d4d5b21fcf327db455ef060182f0f4ef
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465925
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Karol Latecki <karol.latecki@intel.com>