Browse Source

scripts: nudge users to use 'run' script for scripts that import qemu.qmp

Now that qmp has to be installed and isn't local, we can no longer offer
a simple forwarder for these scripts (nor path hacks) and hope that it
works. Encourage users to use the 'run' script to use these scripts
instead.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-ID: <20260218213416.674483-18-jsnow@redhat.com>
Signed-off-by: John Snow <jsnow@redhat.com>
master
John Snow 1 month ago
parent
commit
b08e111b1e
  1. 7
      scripts/compare-machine-types.py
  2. 13
      scripts/qmp/qemu-ga-client
  3. 13
      scripts/qmp/qmp-shell
  4. 13
      scripts/qmp/qmp-shell-wrap
  5. 13
      scripts/qmp/qom-fuse
  6. 13
      scripts/qmp/qom-get
  7. 13
      scripts/qmp/qom-list
  8. 13
      scripts/qmp/qom-set
  9. 13
      scripts/qmp/qom-tree
  10. 9
      scripts/qmp_helper.py
  11. 10
      scripts/render_block_graph.py
  12. 10
      scripts/simplebench/bench_block_job.py
  13. 15
      tests/migration-stress/guestperf/engine.py

7
scripts/compare-machine-types.py

@ -27,19 +27,16 @@
# along with this program; if not, see <http://www.gnu.org/licenses/>. # along with this program; if not, see <http://www.gnu.org/licenses/>.
import sys import sys
from os import path
from argparse import ArgumentParser, RawTextHelpFormatter, Namespace from argparse import ArgumentParser, RawTextHelpFormatter, Namespace
import pandas as pd import pandas as pd
from contextlib import ExitStack from contextlib import ExitStack
from typing import Optional, List, Dict, Generator, Tuple, Union, Any, Set from typing import Optional, List, Dict, Generator, Tuple, Union, Any, Set
try: try:
qemu_dir = path.abspath(path.dirname(path.dirname(__file__)))
sys.path.append(path.join(qemu_dir, 'python'))
from qemu.machine import QEMUMachine from qemu.machine import QEMUMachine
except ModuleNotFoundError as exc: except ModuleNotFoundError as exc:
print(f"Module '{exc.name}' not found.") print(f"Module '{exc.name}' not found.", file=sys.stderr)
print("Try export PYTHONPATH=top-qemu-dir/python or run from top-qemu-dir") print(f"Try $builddir/run {' '.join(sys.argv)}", file=sys.stderr)
sys.exit(1) sys.exit(1)

13
scripts/qmp/qemu-ga-client

@ -1,11 +1,10 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import os
import sys import sys
sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python')) print(
from qemu.utils import qemu_ga_client "This script has moved; after running configure,"
" please use '$builddir/run qemu-ga-client [...]' instead.",
file=sys.stderr
if __name__ == '__main__': )
sys.exit(qemu_ga_client.main()) sys.exit(1)

13
scripts/qmp/qmp-shell

@ -1,11 +1,10 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import os
import sys import sys
sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python')) print(
from qemu.qmp import qmp_shell "This script has moved; after running configure,"
" please use '$builddir/run qmp-shell [...]' instead.",
file=sys.stderr
if __name__ == '__main__': )
qmp_shell.main() sys.exit(1)

13
scripts/qmp/qmp-shell-wrap

@ -1,11 +1,10 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import os
import sys import sys
sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python')) print(
from qemu.qmp import qmp_shell "This script has moved; after running configure,"
" please use '$builddir/run qmp-shell-wrap [...]' instead.",
file=sys.stderr
if __name__ == '__main__': )
qmp_shell.main_wrap() sys.exit(1)

13
scripts/qmp/qom-fuse

@ -1,11 +1,10 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import os
import sys import sys
sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python')) print(
from qemu.utils.qom_fuse import QOMFuse "This script has moved; after running configure,"
" please use '$builddir/run qom-fuse [...]' instead.",
file=sys.stderr
if __name__ == '__main__': )
sys.exit(QOMFuse.entry_point()) sys.exit(1)

13
scripts/qmp/qom-get

@ -1,11 +1,10 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import os
import sys import sys
sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python')) print(
from qemu.utils.qom import QOMGet "This script has moved; after running configure,"
" please use '$builddir/run qom-get [...]' instead.",
file=sys.stderr
if __name__ == '__main__': )
sys.exit(QOMGet.entry_point()) sys.exit(1)

13
scripts/qmp/qom-list

@ -1,11 +1,10 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import os
import sys import sys
sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python')) print(
from qemu.utils.qom import QOMList "This script has moved; after running configure,"
" please use '$builddir/run qom-list [...]' instead.",
file=sys.stderr
if __name__ == '__main__': )
sys.exit(QOMList.entry_point()) sys.exit(1)

13
scripts/qmp/qom-set

@ -1,11 +1,10 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import os
import sys import sys
sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python')) print(
from qemu.utils.qom import QOMSet "This script has moved; after running configure,"
" please use '$builddir/run qom-set [...]' instead.",
file=sys.stderr
if __name__ == '__main__': )
sys.exit(QOMSet.entry_point()) sys.exit(1)

13
scripts/qmp/qom-tree

@ -1,11 +1,10 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import os
import sys import sys
sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python')) print(
from qemu.utils.qom import QOMTree "This script has moved; after running configure,"
" please use '$builddir/run qom-tree [...]' instead.",
file=sys.stderr
if __name__ == '__main__': )
sys.exit(QOMTree.entry_point()) sys.exit(1)

9
scripts/qmp_helper.py

@ -13,17 +13,12 @@ import json
import sys import sys
from datetime import datetime from datetime import datetime
from os import path as os_path
try: try:
qemu_dir = os_path.abspath(os_path.dirname(os_path.dirname(__file__)))
sys.path.append(os_path.join(qemu_dir, 'python'))
from qemu.qmp.legacy import QEMUMonitorProtocol from qemu.qmp.legacy import QEMUMonitorProtocol
except ModuleNotFoundError as exc: except ModuleNotFoundError as exc:
print(f"Module '{exc.name}' not found.") print(f"Module '{exc.name}' not found.", file=sys.stderr)
print("Try export PYTHONPATH=top-qemu-dir/python or run from top-qemu-dir") print(f"Try $builddir/run {' '.join(sys.argv)}", file=sys.stderr)
sys.exit(1) sys.exit(1)
from base64 import b64encode from base64 import b64encode

10
scripts/render_block_graph.py

@ -24,9 +24,13 @@ import subprocess
import json import json
from graphviz import Digraph from graphviz import Digraph
sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'python')) try:
from qemu.qmp import QMPError from qemu.qmp import QMPError
from qemu.qmp.legacy import QEMUMonitorProtocol from qemu.qmp.legacy import QEMUMonitorProtocol
except ModuleNotFoundError as exc:
print(f"Module '{exc.name}' not found.", file=sys.stderr)
print(f"Try $builddir/run {' '.join(sys.argv)}", file=sys.stderr)
sys.exit(1)
def perm(arr): def perm(arr):

10
scripts/simplebench/bench_block_job.py

@ -25,9 +25,13 @@ import subprocess
import socket import socket
import json import json
sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python')) try:
from qemu.machine import QEMUMachine from qemu.machine import QEMUMachine
from qemu.qmp import ConnectError from qemu.qmp import ConnectError
except ModuleNotFoundError as exc:
print(f"Module '{exc.name}' not found.", file=sys.stderr)
print(f"Try $builddir/run {' '.join(sys.argv)}", file=sys.stderr)
sys.exit(1)
def bench_block_job(cmd, cmd_args, qemu_args): def bench_block_job(cmd, cmd_args, qemu_args):

15
tests/migration-stress/guestperf/engine.py

@ -27,9 +27,18 @@ from guestperf.progress import Progress, ProgressStats
from guestperf.report import Report, ReportResult from guestperf.report import Report, ReportResult
from guestperf.timings import TimingRecord, Timings from guestperf.timings import TimingRecord, Timings
sys.path.append(os.path.join(os.path.dirname(__file__), try:
'..', '..', '..', 'python')) from qemu.machine import QEMUMachine
from qemu.machine import QEMUMachine except ModuleNotFoundError as exc:
print(
f"Module '{exc.name}' not found.\n"
"It should be installed as part of the configure-time "
"virtual environment in $builddir/pyvenv.\n"
"Try re-running this script as:\n"
f"> $builddir/run {' '.join(sys.argv)}",
file=sys.stderr
)
sys.exit(1)
# multifd supported compression algorithms # multifd supported compression algorithms
MULTIFD_CMP_ALGS = ("zlib", "zstd", "qpl", "uadk") MULTIFD_CMP_ALGS = ("zlib", "zstd", "qpl", "uadk")

Loading…
Cancel
Save