firecracker-microvm / firectl

firectl is a command-line tool to run Firecracker microVMs
Apache License 2.0
472 stars 73 forks source link

Getting putMachineConfigurationNoContent when I use --disable-hyperthreading #56

Open jayavanth opened 3 years ago

jayavanth commented 3 years ago

My command:

./firectl \
  --kernel=hello-vmlinux.bin \
  --root-drive=hello-rootfs.ext4  \
  --ncpus=8 \
  --memory=50000 \
  --tap-device=tap0/AA:FC:00:00:00:01

runs fine but when I disable hyperthreading with:

./firectl \
  --kernel=hello-vmlinux.bin \
  --root-drive=rootfs.ext4  \
  --ncpus=8 \
  --memory=50000 \
  --tap-device=tap0/AA:FC:00:00:00:01 \
  -t 

I get this error:

INFO[0000] Called startVMM(), setting up a VMM on /home/jayavanth/.firecracker.sock-16505-81 
INFO[0000] VMM logging and metrics disabled.            
2020-07-27T22:10:58.602820013 [anonymous-instance:ERROR:src/api_server/src/lib.rs:225] Missing mandatory fields.
ERRO[0000] PutMachineConfiguration returned [PUT /machine-config][204] putMachineConfigurationNoContent  
WARN[0000] Failed handler "fcinit.CreateMachine": [PUT /machine-config][400] putMachineConfigurationBadRequest  &{FaultMessage:Missing mandatory fields.} 
FATA[0000] Failed to start machine: [PUT /machine-config][400] putMachineConfigurationBadRequest  &{FaultMessage:Missing mandatory fields.} 

Debug Output: https://pastebin.com/hYDcTHvN

ZhanYF commented 1 month ago

This also affects hosts with SMT disabled by firmware, I'm getting the same error with the following command:

firectl --kernel=/home/user/vmlinux-5.10.217 --root-drive=/home/user/ubuntu-22.04.ext4 --tap-device=tap0/AA:FC:00:00:00:01

$firectl --version
Version: 0.2.0
SupportedFirecrackerVersion: 1.0.0