Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-115346

Excessive logging from targetcli

Linking RHIVOS CVEs to...Migration: Automation ...SWIFT: POC ConversionSync from "Extern...XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • rhel-10.0
    • udisks2
    • None
    • No
    • None
    • rhel-storage-management
    • 3
    • False
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • Unspecified
    • Unspecified
    • Unspecified
    • All
    • None

      targetcli is used by dbus-tests in UDisks and tends to write pretty verbose output every time to /root/.targetcli/log.txt that fills up quickly, e.g. accounting ~1.8GB already on my machine.

      The goal is to silence logging completely, it's not important for us. Corresponding options are global logfile= and global loglevel_file=.

      I tried to craft a patch for this but I'm facing several roadblocks:

      • haven't figured a way to set global parameters from within the JSON file being restored
      • sending multiple commands to targetcli is not easy, opted for stdin input at the end
      • the global settings is volatile and not preserved across sessions
      • even when logfile= is overriden, logging is being done to the new place in addition to the default file, making situation even worse
      • similarly, the loglevel_file= option has little effect
      diff --git a/src/tests/dbus-tests/run_tests.py b/src/tests/dbus-tests/run_tests.py
      index e4aa834b..5c2150c4 100755
      --- a/src/tests/dbus-tests/run_tests.py
      +++ b/src/tests/dbus-tests/run_tests.py
      @@ -42,7 +42,10 @@ def setup_vdevs():
           orig_devs = {dev for dev in os.listdir("/dev") if re.match(r'sd[a-z]+$', dev)}
       
           # create fake SCSI hard drives
      -    assert subprocess.call(["targetcli", "restoreconfig src/tests/dbus-tests/targetcli_config.json"]) == 0
      +    targetcli_input = "set global logfile=/tmp/xxx\n" \
      +                      "set global loglevel_file=critical\n" \
      +                      "restoreconfig src/tests/dbus-tests/targetcli_config.json".encode('utf-8')
      +    assert subprocess.run(["targetcli"], input=targetcli_input).returncode == 0
       
           # wait until udev fully processes all the newly created devices
           assert subprocess.call(['udevadm', 'settle']) == 0
      

              tbzatek Tomáš Bžatek
              tbzatek Tomáš Bžatek
              Tomáš Bžatek Tomáš Bžatek
              Guangwu Zhang Guangwu Zhang
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated: