Commit Graph

6788 Commits

Author SHA1 Message Date
Pavel Hrdina
d6b6397ce0 virtManager: xmleditor: warn when switching to XML tab
If there are unapplied changes in the UI warn user when they tries to
switch to XML editor.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2019-06-15 15:05:28 +02:00
Cole Robinson
5eb5913f34 domain: Ensure nvram path before trying to access it
https://bugzilla.redhat.com/show_bug.cgi?id=1667025
2019-06-14 21:50:08 -04:00
Cole Robinson
524002da02 virt-xml: Abide domain name for --build-xml
https://bugzilla.redhat.com/show_bug.cgi?id=1648939
2019-06-14 21:37:50 -04:00
Cole Robinson
d61f9d9995 details: Check for mac conflict in customize wizard
https://bugzilla.redhat.com/show_bug.cgi?id=1660467
2019-06-14 21:11:37 -04:00
Cole Robinson
d40975c493 guest: Add back spice virtio-serial for windows
This was removed in v2.0.0, but we've had some complains since then

https://bugzilla.redhat.com/show_bug.cgi?id=1660123
2019-06-14 20:51:43 -04:00
Cole Robinson
c52e220504 devices: disk: Handle pool=iscsi-direct volumes
I don't have a working setup for this so I'm not positive
it actually works, but this roughly matches what I see in
libvirt test suite data and docs

https://bugzilla.redhat.com/show_bug.cgi?id=1658511
2019-06-14 20:35:41 -04:00
Cole Robinson
147a3b4790 preferences: Disable systray option if we know it won't work
Basically on wayland, if appindicator isn't available

https://bugzilla.redhat.com/show_bug.cgi?id=1666597
2019-06-14 20:05:09 -04:00
Cole Robinson
aabde5bbe6 domain: Remove pre-startup USB collision check
Libvirt nowadays will throw an explicit warning about this
exact situation. It doesn't guide people to virt-manager UI, but
then again it should be obscure enough that it doesn't warrant this
special corner case code to inform the user
2019-06-14 20:04:18 -04:00
Cole Robinson
b9981b4623 createpool: Drop disk and netfs pool source listing
Both of these are awkward to use and IMO not really useful.
2019-06-14 17:16:48 -04:00
Cole Robinson
ab7b3c189f Move virtcli/cliconfig.py to virtinst/buildconfig.py
There's really no reason for the split, just contain it all
within virtinst for simplicity
2019-06-14 17:12:19 -04:00
Cole Robinson
0e5fb7d7c2 data: appstream: add keywords and translations link 2019-06-14 16:09:29 -04:00
Cole Robinson
ef972cf2ea virtinst: support: add full code coverage testing 2019-06-14 14:00:13 -04:00
Cole Robinson
54a28485df tests: Use assertRaises more 2019-06-14 13:04:56 -04:00
Cole Robinson
f6b87bd6d6 virt-xml: Remove virt_xml_setup hack
Not sure why this was originally required, but I can't think how
to even trigger this occasion nowadays
2019-06-14 12:38:51 -04:00
Cole Robinson
bd7d213cf8 virt-xml: Add more test coverage 2019-06-14 12:37:35 -04:00
Cole Robinson
fbe388b26a virt-install: Warn if mem less than OS recommended
And if mem is abnormally low, like it appears user tried to specify
GiB not MiB
2019-06-14 11:24:10 -04:00
Cole Robinson
c37d6a7260 installer: Log warning when we set network-install resources
So the cli user will see it
2019-06-13 22:01:02 -04:00
Cole Robinson
34f42cc673 installer: Make test suite override paths a bit more descriptive
Have them incorporate the basename of the path we are replacing.
This gives some validation that we are manipulating the correct files
2019-06-13 21:53:41 -04:00
Cole Robinson
aafbca9e75 tests: Fix running on non-latest osinfo-db 2019-06-13 21:27:59 -04:00
Cole Robinson
17ac0d017c virt-install: Drop --os-variant suboption parsing
Not sure I want to go down that route if we can avoid it. Instead
just fold the full_id support into the existing option handling.
Streamline the OSVariantData usage throughout the cli tools
2019-06-13 21:25:05 -04:00
Cole Robinson
21723706f5 virt-install: Add --install OSNAME
Replace the unreleased --os-variant OSNAME,install=location with just

  --install OSNAME

Unwind the --unattended dependency on upfront --os-variant while
we are at it, since they are all intertwined. Now we can just do:

  virt-install --install OSNAME
and
  virt-install --install OSNAME --unattended
2019-06-13 20:26:26 -04:00
Cole Robinson
839eea3587 virt-install: Split build_installer out a bit 2019-06-13 18:46:58 -04:00
Cole Robinson
ee119c3bb2 guest: Add skip_default_osinfo
We set this to True in virt-install, which will cause an explicit
error to be thrown if some part of the cli parser tries to access
osinfo before it's been set, because then we have a circular dependency
between cli config -> installer -> osinfo -> cli config
2019-06-13 18:29:39 -04:00
Cole Robinson
d9729855ee guest: break out disable_hyperv_for_uefi
Having this at set_uefi time complicates the domain XML building
machinery, where we don't want things to have osinfo access.
Rearrange it so that editing cases call this explicitly, and
the XML builder just deals with it at the set_defaults time
2019-06-13 17:55:37 -04:00
Cole Robinson
8c8fec6cb1 cli: Rename parse_option_strings update= to editing=
Makes it more clear what the distinction is. Set this in the parser
class so the cli infrastructure can access it
2019-06-13 17:37:26 -04:00
Cole Robinson
f36e8b36bc virt-install: Rework install option detection a bit
Add an explicit no_install to Installer to encode that the user is
not expecting an install phase. Use that to determine later if any
install options were specified. This saves later code from having
to deal with installer=None, and is the basis for further clarifications
2019-06-13 16:36:21 -04:00
Cole Robinson
3b396e8321 virt-install: Split out --wait handling into a helper class
And add much more clitest coverage
2019-06-13 16:02:58 -04:00
Cole Robinson
8234b55fe8 tests: clitest: Fill in much more virt-install coverage 2019-06-13 16:02:52 -04:00
Cole Robinson
5077f97000 guest: Add a comment about the vcpu situation 2019-06-13 14:42:37 -04:00
Cole Robinson
7ef20e26b0 Revert "guest: Don't hardcode vcpus = 1"
This reverts commit 66fe00ddee.

Turns out it's not that simple. Indeed libvirt sets the default
when no <vcpus> XML is present, but if you do --vcpus cpuset=X
libvirt will error that there's no vcpu value set. So for back
compat and generate safety let's keep setting it.
2019-06-13 14:40:06 -04:00
Cole Robinson
3cc42c2f24 virt-install: Drop install option collision errors
It's getting hard to track this correctly with the addition of
--install. Drop it. The important thing is validating when no install
options were specified
2019-06-13 14:13:29 -04:00
Cole Robinson
c5bbf2f48d virt-install: Drop --transient and --noreboot rejection
It's a nonsensical request but it should be obscure enough to not
warrant explicit validation
2019-06-13 14:05:22 -04:00
Cole Robinson
1e8f2413d7 unattended: Move the windows method=cdrom logic into installer
And warn about it. This isn't triggerable at the moment due to
virt-install hackery but that will change
2019-06-13 14:00:04 -04:00
Cole Robinson
a9d33d49db osdict: Add testing and finish of code coverage 2019-06-13 14:00:04 -04:00
Cole Robinson
19bcec651c virt-install: Push validation down into the installer
It's hard to validate whether something like --extra-args or
--initrd-inject is supported based on the command line arguments. It's
easier to let the installer.py figure it out because it's the
authoritative source
2019-06-13 14:00:04 -04:00
Cole Robinson
9cbe5f9742 virt-install: Move --install kernel/initrd handling to installtreemedia
This essentially gives us kernel upload, http access, and initrd inject
for free, and ensures that the source file is kept in pristine shape
2019-06-13 14:00:04 -04:00
Cole Robinson
b746d919a9 virt-install: Add --install kernel_args=X,kernel_args_overwrite=yes|no
--install kernel_args=X acts like --extra-args. If
kernel_args_overwrite=yes is also specified, it overwrites whatever
default kernel args we would have used for the install method.
2019-06-13 14:00:04 -04:00
Cole Robinson
b50ecd2bf1 installer: Move location_* conflict validation to treemedia
That's where the values are handled, so move it there
2019-06-13 14:00:04 -04:00
Cole Robinson
69d5e62cbb tests: Add an example of --extra-args with post install --boot cmdline=X 2019-06-13 14:00:04 -04:00
Cole Robinson
d85a9a4808 cli: Advertise --boot cmdline, that's the XML naming 2019-06-13 14:00:04 -04:00
Cole Robinson
216b1f2a2d installer: Reject --unattended method=cdrom on remote connection
It's not wired up yet
2019-06-13 14:00:04 -04:00
Cole Robinson
69c20d5256 installer: install_{kernel,initrd} imply an install phase 2019-06-13 14:00:04 -04:00
Cole Robinson
b4cc9c7cea uitests: Fix prefs XML editor flakeyness 2019-06-13 13:50:52 -04:00
Cole Robinson
2266b650a5 preferences: Disable XML editing by default
This adds a field in gsettings and preferences UI to enable
XML editing. It's off by default. The XML tab page is still visible,
but the textview is not editable, and there's a warning at the top:

  XML editing is disabled in 'Preferences'.
  Only enable it if you know what you are doing.

When the setting is enabled, the warning goes away and the textview
is editable. This puts a roadblock up for people that don't know what
they are doing, but still advertises the feature and keeps the
UI surface difference fairly small between on/off states.
2019-06-13 07:17:34 -04:00
Cole Robinson
2a1cf411dd tests: Add XML editing UI tests 2019-06-13 07:17:34 -04:00
Cole Robinson
a5f4033493 details: add xmleditor UI
Handling this is a bit different from other bits, because:

1) the <device> editing paradigm is unique. We need to replace the
   device in line in the XML which is a new operation
2) the New VM customize pattern is tricky and needs lots of
   special handling
2019-06-13 07:15:46 -04:00
Cole Robinson
df80852952 addhardware: add xmleditor UI 2019-06-13 07:15:46 -04:00
Cole Robinson
0937c1e54b createvol: add xmleditor UI 2019-06-13 07:15:46 -04:00
Cole Robinson
68b3cb16e5 createpool: add xmleditor UI 2019-06-13 07:15:46 -04:00
Cole Robinson
50d13d8c12 storagelist: add xmleditor UI 2019-06-13 07:15:46 -04:00