Commit c4acef02 authored by Michal Berger's avatar Michal Berger Committed by Jim Harris
Browse files

scripts/vagrant: Allow to configure active metadata size for nvme

The argument is treated as bool and the actual value of the metadata
size is set to 64B.

https://trello.com/c/neiHoXlr/448-add-extra-nvme-drive-to-vms-to-accommodate-for-new-ftl-tests



Signed-off-by: default avatarMichal Berger <michal.berger@intel.com>
Change-Id: Icd96903a5fa186373de1c647e3885f0162ffd579
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14007


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: default avatarDong Yi <dongx.yi@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent 8b6fc349
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -135,6 +135,8 @@ def setup_nvme_disk(libvirt, disk, index)
  nvme_cmbs=(ENV['NVME_CMB'] || "").split(',')
  nvme_pmrs=(ENV['NVME_PMR'] || "").split(',')
  nvme_zns=(ENV['NVME_ZNS'] || "").split(',')
  nvme_ms=(ENV['NVME_MS'] || "").split(',')


  namespace_disks = []
  pmr_cmdline = ""
@@ -187,10 +189,11 @@ def setup_nvme_disk(libvirt, disk, index)
      next
    end
    zoned = nvme_zns[index].nil? ? "false" : "true"
    ms = nvme_ms[index].nil? ? "" : ",ms=64"
    libvirt.qemuargs :value => "-drive"
    libvirt.qemuargs :value => "format=raw,file=#{disk},if=none,id=#{nvme_disk_id}-drive#{nsid}"
    libvirt.qemuargs :value => "-device"
    libvirt.qemuargs :value => "nvme-ns,drive=#{nvme_disk_id}-drive#{nsid},bus=#{nvme_disk_id},nsid=#{nsid + 1},zoned=#{zoned},logical_block_size=4096,physical_block_size=4096"
    libvirt.qemuargs :value => "nvme-ns,drive=#{nvme_disk_id}-drive#{nsid},bus=#{nvme_disk_id},nsid=#{nsid + 1},zoned=#{zoned},logical_block_size=4096,physical_block_size=4096#{ms}"
  }

end
+7 −3
Original line number Diff line number Diff line
@@ -30,11 +30,12 @@ display_help() {
	echo "                                  If no -b option is specified then this option defaults to emulating single"
	echo "                                  NVMe with 1 namespace and assumes path: /var/lib/libvirt/images/nvme_disk.img"
	echo "                                  -b option can be used multiple times for attaching multiple files to the VM"
	echo "                                  Parameters for -b option: <path>,<type>,<ns_path1[:ns_path1:...]>,<cmb>,<pmr_file[:pmr_size]>"
	echo "                                  Parameters for -b option: <path>,<type>,<ns_path1[:ns_path1:...]>,<cmb>,<pmr_file[:pmr_size]>,<ms>"
	echo "                                  Available types: nvme"
	echo "                                  Default pmr size: 16M"
	echo "                                  Default cmb: false"
	echo "                                  type, ns_path, cmb and pmr can be empty"
	echo "                                  Default ms: none"
	echo "                                  type, ns_path, cmb, pmr and ms can be empty"
	echo "  -c                              Create all above disk, default 0"
	echo "  -H                              Use hugepages for allocating VM memory. Only for libvirt provider. Default: false."
	echo "  -u                              Use password authentication to the VM instead of SSH keys."
@@ -193,7 +194,7 @@ if [ -z "$NVME_FILE" ]; then
else
	TMP=""
	for args in $NVME_FILE; do
		while IFS=, read -r path type namespace cmb pmr zns; do
		while IFS=, read -r path type namespace cmb pmr zns ms; do
			TMP+="$path,"
			if [ -z "$type" ]; then
				type="nvme"
@@ -203,6 +204,7 @@ else
			NVME_ZNS+="$zns,"
			NVME_DISKS_TYPE+="$type,"
			NVME_DISKS_NAMESPACES+="$namespace,"
			NVME_MS+="$ms,"
			if [ ${NVME_AUTO_CREATE} = 1 ]; then
				$SPDK_DIR/scripts/vagrant/create_nvme_img.sh -n $path
			fi
@@ -225,6 +227,7 @@ if [ ${VERBOSE} = 1 ]; then
	echo NVME_CMB=$NVME_CMB
	echo NVME_PMR=$NVME_PMR
	echo NVME_ZNS=$NVME_ZNS
	echo NVME_MS=$NVME_MS
	echo SPDK_VAGRANT_DISTRO=$SPDK_VAGRANT_DISTRO
	echo SPDK_VAGRANT_VMCPU=$SPDK_VAGRANT_VMCPU
	echo SPDK_VAGRANT_VMRAM=$SPDK_VAGRANT_VMRAM
@@ -251,6 +254,7 @@ export DEPLOY_TEST_VM
export NVME_CMB
export NVME_PMR
export NVME_ZNS
export NVME_MS
export NVME_DISKS_TYPE
export NVME_DISKS_NAMESPACES
export NVME_FILE