When inspecting whether
https://gitlab.com/libvirt/libvirt/-/issues/9 is
still valid I wrote a tool which outputs command options missing
completers. Now that I had a bit of time with lot of interruptions which
is ideal for going through such a thing I decided to clean up
the tool and post it along with a few fixes and additions to completers.
After this patchset the following completers are still missing:
$ virsh self-test --completers-missing
attach-disk: source, targetbus, driver, subdriver, cache, io, type, mode, sourcetype,
source-protocol, source-host-transport, source-host-socket
attach-interface: type, source, script, model
blockcopy: dest
change-media: source
detach-interface: type
domdisplay: type
domxml-from-native: format
domxml-to-native: format
dump: file
get-user-sshkeys: user
metadata: uri, key
numatune: mode, nodeset
qemu-monitor-event: event
restore: file
save: file
save-image-define: file
save-image-dumpxml: file
save-image-edit: file
screenshot: file
set-user-sshkeys: user
set-user-password: user
cpu-models: arch
domcapabilities: virttype, emulatorbin, arch, machine
hypervisor-cpu-baseline: virttype, emulator, arch, machine
hypervisor-cpu-compare: virttype, emulator, arch, machine
maxvcpus: type
iface-bridge: bridge
iface-unbridge: bridge
net-update: command, section
nodedev-detach: driver
snapshot-create-as: memspec
find-storage-pool-sources-as: type
find-storage-pool-sources: type
pool-create-as: source-path, source-dev, source-name, target, source-format, auth-type,
secret-usage, secret-uuid, adapter-name, adapter-wwnn, adapter-wwpn, adapter-parent,
adapter-parent-wwnn, adapter-parent-wwpn, adapter-parent-fabric-wwn, source-protocol-ver
pool-define-as: source-path, source-dev, source-name, target, source-format, auth-type,
secret-usage, secret-uuid, adapter-name, adapter-wwnn, adapter-wwpn, adapter-parent,
adapter-parent-wwnn, adapter-parent-wwpn, adapter-parent-fabric-wwn, source-protocol-ver
vol-create-as: format, backing-vol, backing-vol-format
vol-download: file
vol-wipe: algorithm
cd: dir
The list is not so long any more. Mostly missing completers are for
remote file paths (passed to libvirt or the VM itself), few enums,
guest-agent-based user list and a few which need to be assesed.
Peter Krempa (14):
virshCheckpointNameCompleter: Sanitize forward declaration use
virsh-completer*.h: Use modern header style
virsh: Remove hack using 'VSH_CMD_FLAG_ALIAS' to hide virsh commands
vshCmddefCheckInternals: Sanitize command alias validation
vsh: Introduce '--completers-missing' for 'self-test' command
virsh-snapshot: Use 'virshSnapshotNameCompleter' for '--from' of
'snapshot-list'
virsh: Use 'virshStoragePoolNameCompleter' for two options
vsh: Add completer for '--command' of 'help' command
virsh: Provide completers for options taking comma separated list of
disk targets
virsh: Expand VIRSH_COMMON_OPT_FILE for cases when it's not a local
file used by virsh
virsh: completer: Introduce dummy completer for local files
virsh: Use 'virshCompletePathLocalExisting' for options reading local
files
virsh: Introduce virshCompleteEmpty and use it for places where we
can't suggest anything
virsh-completer: Provide completer for '--top' and '--base' for
blockjobs
tools/virsh-backup.c | 2 +
tools/virsh-checkpoint.c | 3 +
tools/virsh-completer-checkpoint.h | 7 +-
tools/virsh-completer-domain.c | 136 +++++++++++++++++++++++
tools/virsh-completer-domain.h | 170 ++++++++++++++++++-----------
tools/virsh-completer-host.h | 28 +++--
tools/virsh-completer-interface.h | 14 ++-
tools/virsh-completer-network.h | 35 +++---
tools/virsh-completer-nodedev.h | 21 ++--
tools/virsh-completer-nwfilter.h | 14 ++-
tools/virsh-completer-pool.h | 21 ++--
tools/virsh-completer-secret.h | 14 ++-
tools/virsh-completer-snapshot.h | 7 +-
tools/virsh-completer-volume.h | 14 ++-
tools/virsh-completer.c | 35 ++++++
tools/virsh-completer.h | 18 ++-
tools/virsh-domain.c | 84 +++++++++++++-
tools/virsh-network.c | 1 +
tools/virsh-pool.c | 9 ++
tools/virsh-secret.c | 2 +
tools/virsh-snapshot.c | 4 +
tools/virsh-volume.c | 12 +-
tools/virsh.c | 4 +-
tools/virsh.h | 2 +
tools/virt-admin.c | 3 +-
tools/vsh.c | 66 +++++++++--
tools/vsh.h | 10 +-
27 files changed, 568 insertions(+), 168 deletions(-)
--
2.31.1