[virt-tools-list] [virt-manager PATCH v2 3/4] virt-install: Default to libosnfo recommended disk size
Fabiano Fidêncio
fidencio at redhat.com
Mon Dec 10 09:41:04 UTC 2018
On Mon, Dec 10, 2018 at 10:36 AM Fabiano Fidêncio <fidencio at redhat.com> wrote:
>
> If no disk options are passed, let's fallback to the libosinfo
> recommended disk size for the OS variant.
>
> The guest.set_capabilities_default(), build_installer() and the set of
> the distro variant have been moved earlier in the code in order to fetch
> the correct information from libosinfo and then set the recommended disk
> size without changing much of build_guest_instance() logic.
>
> Signed-off-by: Fabiano Fidêncio <fidencio at redhat.com>
> ---
> virt-install | 16 ++++++++++------
> 1 file changed, 10 insertions(+), 6 deletions(-)
>
> diff --git a/virt-install b/virt-install
> index 4e16d4c8..61dcbe39 100755
> --- a/virt-install
> +++ b/virt-install
> @@ -524,19 +524,23 @@ def build_guest_instance(conn, options):
> if options.machine:
> guest.os.machine = options.machine
>
> + guest.set_capabilities_defaults()
> + installer = build_installer(options, guest)
> + if installer:
> + set_distro_variant(options, guest, installer)
> +
> + if not options.disk:
> + res = guest.osinfo.get_recommended_resources(guest)
> + if res and res.get('storage') > 0:
> + options.disk = ['size=%d' % (res.get('storage') // (1024 **3))]
> +
> cli.parse_option_strings(options, guest, None)
>
> # cli specific disk validation
> for disk in guest.devices.disk:
> cli.validate_disk(disk)
>
> - # Do this a bit early so we have os_type/arch checks for installer
> - # building, and distro variant detection
> - guest.set_capabilities_defaults()
> -
> - installer = build_installer(options, guest)
> if installer:
> - set_distro_variant(options, guest, installer)
> installer.set_install_defaults(guest)
>
> validate_required_options(options, guest, installer)
> --
> 2.19.1
>
Argh! And this fixup will be needed as I forgot to run ./setup pylint
before sending the patches. :-/
Without the fixup we'd get:
running pycodestyle
virt-install:534: [E222] multiple spaces after operator
virt-install:535: [E225] missing whitespace around operator
[fidencio at dahmer virt-manager]$ git diff HEAD~1
diff --git a/virt-install b/virt-install
index 61dcbe39..cf6f7d78 100755
--- a/virt-install
+++ b/virt-install
@@ -531,8 +531,8 @@ def build_guest_instance(conn, options):
if not options.disk:
res = guest.osinfo.get_recommended_resources(guest)
- if res and res.get('storage') > 0:
- options.disk = ['size=%d' % (res.get('storage') // (1024 **3))]
+ if res and res.get('storage') > 0:
+ options.disk = ['size=%d' % (res.get('storage') // (1024 ** 3))]
cli.parse_option_strings(options, guest, None)
More information about the virt-tools-list
mailing list