virsh: Add option '--no-pkttyagent'

In scripts repeated execution of virsh can result in a lot of
journal noise when pkttyagent gets registered with polkitd each
time.

Closes: https://gitlab.com/libvirt/libvirt/-/issues/757
Signed-off-by: Jens Schmidt <farblos@vodafonemail.de>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
Jens Schmidt
2025-05-19 09:08:14 +02:00
committed by Peter Krempa
parent 05f34d585a
commit 0eea768f4b
3 changed files with 21 additions and 1 deletions
+8
View File
@@ -140,6 +140,14 @@ Output elapsed time information for each command.
- ``--no-pkttyagent``
Do not register ``pkttyagent`` as authentication agent with the
polkit system daemon, even if ``virsh`` has been started from a
terminal.
- ``-v``, ``--version[=short]``
Ignore all other arguments, and prints the version of the libvirt library
+12 -1
View File
@@ -117,7 +117,8 @@ virshConnect(vshControl *ctl, const char *uri, bool readonly)
keepalive_forced = true;
}
if (virPolkitAgentAvailable() &&
if (!ctl->no_pkttyagent &&
virPolkitAgentAvailable() &&
!(pkagent = virPolkitAgentCreate()))
virResetLastError();
@@ -446,6 +447,7 @@ virshUsage(void)
" -q | --quiet quiet mode\n"
" -r | --readonly connect readonly\n"
" -t | --timing print timing information\n"
" --no-pkttyagent suppress registration of pkttyagent\n"
" -v short version\n"
" -V long version\n"
" --version[=TYPE] version, TYPE is short or long (default short)\n"
@@ -642,6 +644,7 @@ virshParseArgv(vshControl *ctl, int argc, char **argv)
{ "quiet", no_argument, NULL, 'q' },
{ "readonly", no_argument, NULL, 'r' },
{ "timing", no_argument, NULL, 't' },
{ "no-pkttyagent", no_argument, NULL, 0 },
{ "version", optional_argument, NULL, 'v' },
{ NULL, 0, NULL, 0 },
};
@@ -739,6 +742,14 @@ virshParseArgv(vshControl *ctl, int argc, char **argv)
case 'V':
virshShowVersion(ctl);
exit(EXIT_SUCCESS);
case 0:
if (STREQ(opt[longindex].name, "no-pkttyagent")) {
ctl->no_pkttyagent = true;
break;
} else {
vshError(ctl, "%s", _("unknown option"));
exit(EXIT_FAILURE);
}
case ':':
for (i = 0; opt[i].name != NULL; i++) {
if (opt[i].val == optopt)
+1
View File
@@ -200,6 +200,7 @@ struct _vshControl {
bool imode; /* interactive mode? */
bool quiet; /* quiet mode */
bool timing; /* print timing info? */
bool no_pkttyagent; /* suppress registration of pkttyagent? */
int debug; /* print debug messages? */
char *logfile; /* log file name */
int log_fd; /* log file descriptor */