virt-manager/virtman-show-suse-install-repos.patch

94 lines
3.2 KiB
Diff
Raw Normal View History

Enhancement that gets installation repos from zypper.
These locations are then presented as potential installation
sources when creating a VM.
Index: virt-manager-3.3.0/virtManager/createvm.py
===================================================================
--- virt-manager-3.3.0.orig/virtManager/createvm.py
+++ virt-manager-3.3.0/virtManager/createvm.py
@@ -164,6 +164,70 @@ class _GuestData:
- Update to virt-manager 3.0.0 (fate#326786) virt-manager-3.0.0.tar.bz2 * virt-install –cloud-init support (Athina Plaskasoviti, Cole Robinson) * The virt-convert tool has been removed. Please use virt-v2v instead * A handful of UI XML configuration options have been removed. The XML editor can be used instead. For a larger discussion see this thread: https://www.redhat.com/archives/virt-tools-list/ 2019-June/msg00117.html * The ‘New VM’ UI now has a ‘Manual Install’ option which creates a VM without any required install media * In the ‘New VM’ UI, the network/pxe install option has been removed. If you need network boot, choose ‘Manual Install’ and set the boot device after initial VM creation * ‘Clone VM’ UI has been reworked and simplified * ‘Migrate VM’ UI now has an XML editor for the destination VM * Global and per-vm option to disable graphical console autoconnect. This makes it easier to use virt-manager alongside another client like virt-viewer * virt-manager: set guest time after VM restore (Michael Weiser) * virt-manager: option to delete storage when removing disk device (Lily Nie) * virt-manager: show warnings if snapshot operation is unsafe (Michael Weiser) * Unattended install improvements (Fabiano Fidêncio) * cli: new –xml XPATH=VAL option for making direct XML changes * virt-install: new –reinstall=DOMAIN option * virt-install: new –autoconsole text|graphical|none option * virt-install: new –os-variant detect=on,require=on suboptions OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=509
2020-09-16 19:23:41 +02:00
return guest
- bsc#1140211 - VUL-1: CVE-2019-10183: virt-manager: unattended option leaks password via command line argument 58c68764-unattended-Read-the-passwords-from-a-file.patch 51d28f04-unattended-Dont-log-user-admin-passwords.patch - Upstream bug fix (bsc#1027942) 5312a961-virt-install-Revive-wait-0-as-alias-for-noautoconsole.patch - Update to virt-manager 2.2.0 (fate#326786) virt-manager-2.2.0.tar.bz2 * libvirt XML viewing and editing UI for new and existing domain, pools, volumes, networks * virt-install: libosinfo –unattended support (Fabiano Fidêncio, Cole Robinson) * Improve CPU model security defaults (Pavel Hrdina) * virt-install: new –install option. Ex: virt-install –install fedora29 * virt-install: new –install kernel=,initrd= * virt-install: –disk, –memory, –name defaults from libosinfo (Fabiano Fidêncio, Cole Robinson) * virt-install: add device suboption aliases which consistently match libvirt XML naming * virt-xml: new –start, –no-define options (Marc Hartmayer) * virt-install: Add driver_queues argument to –controller (Vasudeva Kamath) * RISC-V support (Andrea Bolognani) * Device default improvements for non-x86 KVM (Andrea Bolognani) * Redesigned ‘New Network’ wizard * libguestfs inspection improvements (Pino Toscano) * virt-install: Add support for xenbus controller (Jim Fehlig) * cli: Add –disk wwn=,rawio= (Athina Plaskasoviti) * cli: Add –memballoon autodeflate=,stats.period= (Athina Plaskasoviti) * cli: Add –iothreads (Athina Plaskasoviti) * cli: Add –numatune memory.placement (Athina Plaskasoviti) * cli: Add –launchSecurity option (Erik Skultety) * cli: Fill in –memorybacking options * cli: –smartcard: support database= and certificate[0-9]*= OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=476
2019-07-03 20:19:42 +02:00
+################################################
+# Helpers for using SUSE installation location #
+################################################
+
+import subprocess
+from subprocess import Popen, PIPE
- bsc#1140211 - VUL-1: CVE-2019-10183: virt-manager: unattended option leaks password via command line argument 58c68764-unattended-Read-the-passwords-from-a-file.patch 51d28f04-unattended-Dont-log-user-admin-passwords.patch - Upstream bug fix (bsc#1027942) 5312a961-virt-install-Revive-wait-0-as-alias-for-noautoconsole.patch - Update to virt-manager 2.2.0 (fate#326786) virt-manager-2.2.0.tar.bz2 * libvirt XML viewing and editing UI for new and existing domain, pools, volumes, networks * virt-install: libosinfo –unattended support (Fabiano Fidêncio, Cole Robinson) * Improve CPU model security defaults (Pavel Hrdina) * virt-install: new –install option. Ex: virt-install –install fedora29 * virt-install: new –install kernel=,initrd= * virt-install: –disk, –memory, –name defaults from libosinfo (Fabiano Fidêncio, Cole Robinson) * virt-install: add device suboption aliases which consistently match libvirt XML naming * virt-xml: new –start, –no-define options (Marc Hartmayer) * virt-install: Add driver_queues argument to –controller (Vasudeva Kamath) * RISC-V support (Andrea Bolognani) * Device default improvements for non-x86 KVM (Andrea Bolognani) * Redesigned ‘New Network’ wizard * libguestfs inspection improvements (Pino Toscano) * virt-install: Add support for xenbus controller (Jim Fehlig) * cli: Add –disk wwn=,rawio= (Athina Plaskasoviti) * cli: Add –memballoon autodeflate=,stats.period= (Athina Plaskasoviti) * cli: Add –iothreads (Athina Plaskasoviti) * cli: Add –numatune memory.placement (Athina Plaskasoviti) * cli: Add –launchSecurity option (Erik Skultety) * cli: Fill in –memorybacking options * cli: –smartcard: support database= and certificate[0-9]*= OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=476
2019-07-03 20:19:42 +02:00
+
+_host_repo_url = None
+
+def getHostInstallSource():
+ global _host_repo_url
+ if _host_repo_url is not None:
+ return _host_repo_url
+ if os.geteuid() != 0:
+ return None
+
+ (_,zypper_output) = lookupZypperRepos()
+ if len(zypper_output):
+ _host_repo_url = zypper_output[0]
+ return _host_repo_url
+ return None
+
+def lookupZypperRepos(dom0_inst_source=None):
+ try:
+ env = os.environ.copy()
+ env['LC_ALL'] = 'C'
+ cmd = ['/usr/bin/zypper', 'lr', '-u', '-P', '-E']
+ p = subprocess.Popen(cmd, stdout=PIPE, stderr=PIPE, env=env)
+ stdout, stderr = p.communicate()
+ zypper_output = stdout.decode()
+ zypper_list = zypper_output.split("\n")
+ zypper_header = [x.strip(' ') for x in zypper_list[0].split("|")]
+ uri_index = zypper_header.index("URI")
+ except:
+ inst_source = []
+ if dom0_inst_source:
+ inst_source = [dom0_inst_source]
+ return (0, inst_source)
+
+ index_dom0 = -1
+ number_of_sources = 0
+ zypper_output = []
+ for repo in zypper_list:
+ repo = [x.strip(' ') for x in repo.split("|")]
+ if len(repo) >= uri_index:
+ str = repo[uri_index]
+ if str.startswith('ftp://') or str.startswith('http://') or str.startswith('nfs://') or str.startswith('smb://'):
+ if str not in zypper_output:
+ zypper_output.append(str)
+ if dom0_inst_source is not None and str == dom0_inst_source:
+ index_dom0 = number_of_sources
+ number_of_sources += 1
+
+ if index_dom0 == -1 and dom0_inst_source:
+ index_dom0 = 0
+ zypper_output.insert(0, dom0_inst_source)
+ return (index_dom0, zypper_output)
+
+def getInstallRepos():
+ if os.geteuid() != 0:
+ return (0, [])
+ return lookupZypperRepos(getHostInstallSource())
- Update to virt-manager 1.3.0 virt-manager-1.3.0.tar.bz2 * Git hosting moved to http://github.com/virt-manager/virt-manager * Switch translation infrastructure from transifex to fedora.zanata.org * Add dogtail UI tests and infrastructure * Improved support for s390x kvm (Kevin Zhao) * virt-install and virt-manager now remove created disk images if VM install startup fails * Replace urlgrabber usage with requests and urllib2 * virt-install: add –network virtualport support for openvswitch (Daniel P. Berrange) * virt-install: support multiple –security labels * virt-install: support –features kvm_hidden=on|off (Pavel Hrdina) * virt-install: add –features pmu=on|off * virt-install: add –features pvspinlock=on|off (Abhijeet Kasurde) * virt-install: add –events on_lockfailure=on|off (Abhijeet Kasurde) * virt-install: add –network link_state=up|down * virt-install: add –vcpu placement=static|auto - Dropped virt-manager-1.2.1.tar.bz2 34db1af7-fix-adding-iscsi-pools.patch 360fe110-add-s390x-arch-support.patch 4970615f-fix-qemu-vs-lxc-detection.patch 590f5a52-urlfetcher-Clear-cached-ftp-connection-on-cleanupLoc.patch 5e68b0fc-dont-try-to-set-vmport-on-non-x86.patch 601a82cb-fix-console_type-if-xen.patch 76bad650-fix-virt-xml-define-and-update.patch 77423e7a-connection-catch-more-errors-in-filter_nodedevs.patch 8dbe96fc-add-s390x-arch-support.patch a9b303fb-fix-copy-host-cpu-definition.patch aebebbf8-report-an-error-for-pxe-install-without-network.patch cde2f0ef-Suppress-gi-warnings-about-lack-of-require_version.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=283
2015-11-26 00:27:12 +01:00
+
- bsc#1140211 - VUL-1: CVE-2019-10183: virt-manager: unattended option leaks password via command line argument 58c68764-unattended-Read-the-passwords-from-a-file.patch 51d28f04-unattended-Dont-log-user-admin-passwords.patch - Upstream bug fix (bsc#1027942) 5312a961-virt-install-Revive-wait-0-as-alias-for-noautoconsole.patch - Update to virt-manager 2.2.0 (fate#326786) virt-manager-2.2.0.tar.bz2 * libvirt XML viewing and editing UI for new and existing domain, pools, volumes, networks * virt-install: libosinfo –unattended support (Fabiano Fidêncio, Cole Robinson) * Improve CPU model security defaults (Pavel Hrdina) * virt-install: new –install option. Ex: virt-install –install fedora29 * virt-install: new –install kernel=,initrd= * virt-install: –disk, –memory, –name defaults from libosinfo (Fabiano Fidêncio, Cole Robinson) * virt-install: add device suboption aliases which consistently match libvirt XML naming * virt-xml: new –start, –no-define options (Marc Hartmayer) * virt-install: Add driver_queues argument to –controller (Vasudeva Kamath) * RISC-V support (Andrea Bolognani) * Device default improvements for non-x86 KVM (Andrea Bolognani) * Redesigned ‘New Network’ wizard * libguestfs inspection improvements (Pino Toscano) * virt-install: Add support for xenbus controller (Jim Fehlig) * cli: Add –disk wwn=,rawio= (Athina Plaskasoviti) * cli: Add –memballoon autodeflate=,stats.period= (Athina Plaskasoviti) * cli: Add –iothreads (Athina Plaskasoviti) * cli: Add –numatune memory.placement (Athina Plaskasoviti) * cli: Add –launchSecurity option (Erik Skultety) * cli: Fill in –memorybacking options * cli: –smartcard: support database= and certificate[0-9]*= OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=476
2019-07-03 20:19:42 +02:00
+
##############
# Main class #
##############
@@ -422,7 +486,13 @@ class vmmCreateVM(vmmGObjectUI):
- bsc#1140211 - VUL-1: CVE-2019-10183: virt-manager: unattended option leaks password via command line argument 58c68764-unattended-Read-the-passwords-from-a-file.patch 51d28f04-unattended-Dont-log-user-admin-passwords.patch - Upstream bug fix (bsc#1027942) 5312a961-virt-install-Revive-wait-0-as-alias-for-noautoconsole.patch - Update to virt-manager 2.2.0 (fate#326786) virt-manager-2.2.0.tar.bz2 * libvirt XML viewing and editing UI for new and existing domain, pools, volumes, networks * virt-install: libosinfo –unattended support (Fabiano Fidêncio, Cole Robinson) * Improve CPU model security defaults (Pavel Hrdina) * virt-install: new –install option. Ex: virt-install –install fedora29 * virt-install: new –install kernel=,initrd= * virt-install: –disk, –memory, –name defaults from libosinfo (Fabiano Fidêncio, Cole Robinson) * virt-install: add device suboption aliases which consistently match libvirt XML naming * virt-xml: new –start, –no-define options (Marc Hartmayer) * virt-install: Add driver_queues argument to –controller (Vasudeva Kamath) * RISC-V support (Andrea Bolognani) * Device default improvements for non-x86 KVM (Andrea Bolognani) * Redesigned ‘New Network’ wizard * libguestfs inspection improvements (Pino Toscano) * virt-install: Add support for xenbus controller (Jim Fehlig) * cli: Add –disk wwn=,rawio= (Athina Plaskasoviti) * cli: Add –memballoon autodeflate=,stats.period= (Athina Plaskasoviti) * cli: Add –iothreads (Athina Plaskasoviti) * cli: Add –numatune memory.placement (Athina Plaskasoviti) * cli: Add –launchSecurity option (Erik Skultety) * cli: Fill in –memorybacking options * cli: –smartcard: support database= and certificate[0-9]*= OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=476
2019-07-03 20:19:42 +02:00
self.widget("install-url-entry").set_text("")
self.widget("install-url-options").set_expanded(False)
urlmodel = self.widget("install-url-combo").get_model()
- _populate_media_model(urlmodel, self.config.get_media_urls())
+ urllist = self.config.get_media_urls()
+ (index, inst_repos) = getInstallRepos()
+ for u in urllist:
+ if u in inst_repos:
+ inst_repos.remove(u)
+ media_urllist = urllist + inst_repos
+ _populate_media_model(urlmodel, media_urllist)
# Install import
self.widget("install-import-entry").set_text("")