Conversation
ebail
left a comment
There was a problem hiding this comment.
Hi, I think that is a great to streamline the priority setting.
I think that functions should be documented.
Also I would consider adding units tests specially considering that it is a critical component.
Also I am wondering if we could plug this tool to vm-manager (https://github.com/seapath/vm_manager/tree/main) so that Ansible could be optionally used.
Once a VM is started with vm-manager, correct priorities could be applied.
| import xml.etree.ElementTree as ET | ||
| import subprocess | ||
|
|
||
| #logfile = "/tmp/hook.log" |
| print("Usage: configure_guest.py <vm_name> <vm_action>") | ||
| print(" vm_name : name of the guest VM") | ||
| print(" vm_action : one of the following:") | ||
| print(" started - run commands for real") | ||
| print(" started-dry - dry-run, print commands only") | ||
| print(" any other - do nothing and exit") |
| sys.exit(0) | ||
|
|
||
| def parse_xml(guest_name): | ||
| filename = f"/etc/pacemaker/{guest_name}.xml" |
There was a problem hiding this comment.
I would use a variable for /etc/pacemaker
| return pid | ||
| time.sleep(delay) | ||
| count += 1 | ||
| print("No qemu process found") |
| if len(sys.argv) < 3: | ||
| usage() | ||
|
|
||
| guest_name = sys.argv[1] |
There was a problem hiding this comment.
I would use optparse: https://docs.python.org/3/library/optparse.html
This hook will run tasks that needs to be run everytime a guest is started: - parse the guest xml - override the network speed of all declared network interfaces to 1Gb (instead of the default 10Mb that make all supervision software believe they use more than 100%) - set all vhost- threads to RR1 if guest is realtime (= use vcpusched) - set cpu affinity of those threads to the same as main qemu thread if guest is realtime Signed-off-by: Florent CARLI <florent.carli@rte-france.com>
|
Hi @insatomcat, I am surprised to see this PR closed. I think that it is a good idea. |
|
I didn't took so much time to test that, but it seems that this is the default behaviour of QEMU 10 running on SEAPATH main now. This is worth checking out in more details. |
Okay, I double checked and I had just another hook installed doing the same, So you can ignore previous message, we still need this hook |
|
Also, please be aware that this hook put all the vhost thread to RT priority, even the one on br0 |
This hook will run tasks that needs to be run everytime a guest is started: