The code was using the qemu UUID for the BMC. But that's really not a good method. In general, you don't want the GUID to change when you migrate, and you want the GUID to be the same between invocations of qemu (if you have a GUID).
Plus, if you have multiple BMCs, they need to have different GUIDs or the host code cannot tell them apart. I'm not sure anyone really uses multiple BMCs, but I do a lot of testing with that scenario. This change lets the user set the GUID on the command line, and if the GUID is not set return an error for the GUID fetch command. This maps better to how IPMI should work. This change relies on the UUID being set to all zeros to know that it is not set. This is not optimal, perhaps, but an all zero UUID isn't valid (it's the Nil UUID), so it should be ok.