Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ktest: Add example config for using VMware VMs

This duplicates the KVM/Qemu config with specific notes for how
to use it with VMware VMs on Workstation, Player, or Fusion.
The main thing to be aware of is how the serial port is exposed
which is a unix pipe, and will need something like ncat to get
into ktest's monitoring

Signed-off-by: John 'Warthog9' Hawley (VMware) <warthog9@eaglescrag.net>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>

+137
+137
tools/testing/ktest/examples/vmware.conf
··· 1 + # 2 + # This config is an example usage of ktest.pl with a vmware guest 3 + # 4 + # VMware Setup: 5 + # ------------- 6 + # - Edit the Virtual Machine ("Edit virtual machine settings") 7 + # - Add a Serial Port 8 + # - You almost certainly want it set "Connect at power on" 9 + # - Select "Use socket (named pipe)" 10 + # - Select a name that you'll recognize, like 'ktestserialpipe' 11 + # - From: Server 12 + # - To: A Virtual Machine 13 + # - Save 14 + # - Make sure you note the name, it will be in the base directory of the 15 + # virtual machine (where the "disks" are stored. The default 16 + # is /var/lib/vmware/<virtual machine name>/<the name you entered above> 17 + # 18 + # - Make note of the path to the VM 19 + # </End VMware setup> 20 + # 21 + # The guest is called 'Guest' and this would be something that 22 + # could be run on the host to test a virtual machine target. 23 + 24 + MACHINE = Guest 25 + 26 + # Name of the serial pipe you set in the VMware settings 27 + VMWARE_SERIAL_NAME = <the name you entered above> 28 + 29 + # Define a variable of the name of the VM 30 + # Noting this needs to be the name of the kmx file, and usually, the 31 + # name of the directory that it's in. If the directory and name 32 + # differ change the VMWARE_VM_DIR accordingly. 33 + # Please ommit the .kmx extension 34 + VMWARE_VM_NAME = <virtual machine name> 35 + 36 + # VM dir name. This is usually the same as the virtual machine's name, 37 + # but not always the case. Change if they differ 38 + VMWARE_VM_DIR = ${VMWARE_VM_NAME} 39 + 40 + # Base directory that the Virtual machine is contained in 41 + # /var/lib/vmware is the default on Linux 42 + VMWARE_VM_BASE_DIR = /var/lib/vmware/${VMWARE_VM_DIR} 43 + 44 + # Use ncat to read the unix pipe. Anything that can read the Unix Pipe 45 + # and output it's contents to stdout will work 46 + CONSOLE = /usr/bin/ncat -U ${VMWARE_VM_BASE_DIR}/${VMWARE_SERIAL_NAME} 47 + 48 + # Define what version of Workstation you are using 49 + # This is used by vmrun to use the appropriate appripriate pieces to 50 + # test this. In all likelihood you want 'ws' or 'player' 51 + # Valid options: 52 + # ws - Workstation (Windows or Linux host) 53 + # fusion - Fusion (Mac host) 54 + # player - Using VMware Player (Windows or Linux host) 55 + # Note: vmrun has to run directly on the host machine 56 + VMWARE_HOST_TYPE = ws 57 + 58 + # VMware provides `vmrun` to allow you to do certain things to the virtual machine 59 + # This should hard reset the VM and force a boot 60 + VMWARE_POWER_CYCLE = /usr/bin/vmrun -T ${VMWARE_HOST_TYPE} reset ${VMWARE_VM_BASE_DIR}/${VMWARE_VM_NAME}.kmx nogui 61 + 62 + #*************************************# 63 + # This part is the same as test.conf # 64 + #*************************************# 65 + 66 + # The include files will set up the type of test to run. Just set TEST to 67 + # which test you want to run. 68 + # 69 + # TESTS = patchcheck, randconfig, boot, test, config-bisect, bisect, min-config 70 + # 71 + # See the include/*.conf files that define these tests 72 + # 73 + TEST := patchcheck 74 + 75 + # Some tests may have more than one test to run. Define MULTI := 1 to run 76 + # the extra tests. 77 + MULTI := 0 78 + 79 + # In case you want to differentiate which type of system you are testing 80 + BITS := 64 81 + 82 + # REBOOT = none, error, fail, empty 83 + # See include/defaults.conf 84 + REBOOT := empty 85 + 86 + 87 + # The defaults file will set up various settings that can be used by all 88 + # machine configs. 89 + INCLUDE include/defaults.conf 90 + 91 + 92 + #*************************************# 93 + # Now we are different from test.conf # 94 + #*************************************# 95 + 96 + 97 + # The example here assumes that Guest is running a Fedora release 98 + # that uses dracut for its initfs. The POST_INSTALL will be executed 99 + # after the install of the kernel and modules are complete. 100 + # 101 + POST_INSTALL = ${SSH} /sbin/dracut -f /boot/initramfs-test.img $KERNEL_VERSION 102 + 103 + # Guests sometimes get stuck on reboot. We wait 3 seconds after running 104 + # the reboot command and then do a full power-cycle of the guest. 105 + # This forces the guest to restart. 106 + # 107 + POWERCYCLE_AFTER_REBOOT = 3 108 + 109 + # We do the same after the halt command, but this time we wait 20 seconds. 110 + POWEROFF_AFTER_HALT = 20 111 + 112 + 113 + # As the defaults.conf file has a POWER_CYCLE option already defined, 114 + # and options can not be defined in the same section more than once 115 + # (all DEFAULTS sections are considered the same). We use the 116 + # DEFAULTS OVERRIDE to tell ktest.pl to ignore the previous defined 117 + # options, for the options set in the OVERRIDE section. 118 + # 119 + DEFAULTS OVERRIDE 120 + 121 + # Instead of using the default POWER_CYCLE option defined in 122 + # defaults.conf, we use virsh to cycle it. To do so, we destroy 123 + # the guest, wait 5 seconds, and then start it up again. 124 + # Crude, but effective. 125 + # 126 + POWER_CYCLE = ${VMWARE_POWER_CYCLE} 127 + 128 + 129 + DEFAULTS 130 + 131 + # The following files each handle a different test case. 132 + # Having them included allows you to set up more than one machine and share 133 + # the same tests. 134 + INCLUDE include/patchcheck.conf 135 + INCLUDE include/tests.conf 136 + INCLUDE include/bisect.conf 137 + INCLUDE include/min-config.conf