Univention Bugzilla – Bug 18611
UVMM-Daemon: Erstellen von Festplatten-Images
Last modified: 2010-08-31 13:21:04 CEST
Der UVMM sollte die Möglichkeit bieten (leere) Festplatten-Images zu erstellen. Dafür ist eine einfache Pool/Storage Verwaltung notwendig.
Diese Fähigkeit wurden im Rahmen der Implementierung für die Wizards ausgebaut. Bei Erstellen von Instanz soll es möglich sein neue Festplatten anzulegen. Das ist also umgesetzt.
und zu
Im MemorySize-Parser war noch ein Fehler: Er hat zwingend eine Komma-Zahl erwatet. Fixed in 0.9.76-3
Folgendes ist mir bisher aufgefallen: das Anlegen eines zu großen Festplattenimages funktioniert ohne Überprüfung (im Test 5TB) und wurde angelegt. Im Anschluss wird mir in der UMC die Größe als "unbekannt" angezeigt. via virsh: root@member-kvm:~# virsh vol-info /var/lib/libvirt/images/winxp-2-2.img Name: winxp-2-2.img Type: file Capacity: 0,00 Allocation: 0,00 Nach kurzen Tests stellt sich heraus, dass dieses Phänomen ab 2TB auftritt, 1,9TB werden noch "richtig" angelegt. Sollte es sich hierbei um eine eingebaute Limitierung auf seiten von Libwirt handeln, wäre es evt. auch wünschenswert, dass dies direkt im UMC-Modul abgefangen wird (wie generell ein Image, welches "zu groß" ist - d.h. es übersteigt den physikalisch verfügbaren Bereich) Desweiteren "merkt" sich das Namensfeld im Wizard den Namen des zuletzt angelegten Images - hier wäre zu klären, ob dies gewünscht ist.
(In reply to comment #4) > Folgendes ist mir bisher aufgefallen: > > das Anlegen eines zu großen Festplattenimages funktioniert ohne Überprüfung (im > Test 5TB) und wurde angelegt. > > Im Anschluss wird mir in der UMC die Größe als "unbekannt" angezeigt. > > via virsh: > root@member-kvm:~# virsh vol-info /var/lib/libvirt/images/winxp-2-2.img > Name: winxp-2-2.img > Type: file > Capacity: 0,00 > Allocation: 0,00 > > Nach kurzen Tests stellt sich heraus, dass dieses Phänomen ab 2TB auftritt, > 1,9TB werden noch "richtig" angelegt. > Sollte es sich hierbei um eine eingebaute Limitierung auf seiten von Libwirt > handeln, wäre es evt. auch wünschenswert, dass dies direkt im UMC-Modul > abgefangen wird (wie generell ein Image, welches "zu groß" ist - d.h. es > übersteigt den physikalisch verfügbaren Bereich) Dazu habe ich Bug #19281 angelegt.
(In reply to comment #4) > Desweiteren "merkt" sich das Namensfeld im Wizard den Namen des zuletzt > angelegten Images - hier wäre zu klären, ob dies gewünscht ist. Das ist jetzt korrigiert
Ich kann auf meiner heute morgen aktualisierten Maschine einer Instanz kein Laufwerk hinzufügen. Traceback (most recent call last): File "/usr/lib/python2.4/site-packages/univention/management/console/handlers/__init__.py", line 160, in execute func( object ) File "/usr/lib/python2.4/site-packages/univention/management/console/handlers/uvmm/__init__.py", line 1008, in uvmm_drive_create self.uvmm.next_drive_name( node_uri, object ) TypeError: next_drive_name() takes at least 4 arguments (3 given)
(In reply to comment #7) > Ich kann auf meiner heute morgen aktualisierten Maschine einer Instanz kein > Laufwerk hinzufügen. > > Traceback (most recent call last): > File > "/usr/lib/python2.4/site-packages/univention/management/console/handlers/__init__.py", > line 160, in execute > func( object ) > File > "/usr/lib/python2.4/site-packages/univention/management/console/handlers/uvmm/__init__.py", > line 1008, in uvmm_drive_create > self.uvmm.next_drive_name( node_uri, object ) > TypeError: next_drive_name() takes at least 4 arguments (3 given) Sollte wieder gehen. Das hing mit Anpassungen aus einem anderen Bug zusammen.
Beim Hinzufügen von Plattenimages > 1.9TB: Traceback (most recent call last): File "/usr/share/univention-webui/modules/requests.py", line 273, in run_request self.dialog.init(0,xmlout,xmlout.documentElement) File "./unidialog.py", line 77, in init uniconf.init(self,a,b,c) File "/usr/share/univention-webui/modules/uniconf.py", line 185, in init obj.init(input,xmlob,self.find_id(node,obj.id)) File "/usr/share/univention-webui/modules/uniconf.py", line 185, in init obj.init(input,xmlob,self.find_id(node,obj.id)) File "/usr/share/univention-webui/modules/table.py", line 48, in init uniconf.init(self,input,xmlob,node) File "/usr/share/univention-webui/modules/uniconf.py", line 185, in init obj.init(input,xmlob,self.find_id(node,obj.id)) File "/usr/share/univention-webui/modules/table.py", line 48, in init uniconf.init(self,input,xmlob,node) File "/usr/share/univention-webui/modules/uniconf.py", line 185, in init obj.init(input,xmlob,self.find_id(node,obj.id)) File "/usr/share/univention-webui/modules/table.py", line 48, in init uniconf.init(self,input,xmlob,node) File "/usr/share/univention-webui/modules/uniconf.py", line 185, in init obj.init(input,xmlob,self.find_id(node,obj.id)) File "/usr/share/univention-webui/modules/table.py", line 48, in init uniconf.init(self,input,xmlob,node) File "/usr/share/univention-webui/modules/uniconf.py", line 185, in init obj.init(input,xmlob,self.find_id(node,obj.id)) File "/usr/share/univention-webui/modules/table.py", line 48, in init uniconf.init(self,input,xmlob,node) File "/usr/share/univention-webui/modules/uniconf.py", line 185, in init obj.init(input,xmlob,self.find_id(node,obj.id)) File "/usr/share/univention-webui/modules/table.py", line 48, in init uniconf.init(self,input,xmlob,node) File "/usr/share/univention-webui/modules/uniconf.py", line 185, in init obj.init(input,xmlob,self.find_id(node,obj.id)) File "/usr/share/univention-webui/modules/table.py", line 48, in init uniconf.init(self,input,xmlob,node) File "/usr/share/univention-webui/modules/uniconf.py", line 185, in init obj.init(input,xmlob,self.find_id(node,obj.id)) File "/usr/share/univention-webui/modules/table.py", line 48, in init uniconf.init(self,input,xmlob,node) File "/usr/share/univention-webui/modules/uniconf.py", line 185, in init obj.init(input,xmlob,self.find_id(node,obj.id)) File "/usr/share/univention-webui/modules/table.py", line 48, in init uniconf.init(self,input,xmlob,node) File "/usr/share/univention-webui/modules/uniconf.py", line 185, in init obj.init(input,xmlob,self.find_id(node,obj.id)) File "/usr/share/univention-webui/modules/table.py", line 48, in init uniconf.init(self,input,xmlob,node) File "/usr/share/univention-webui/modules/uniconf.py", line 185, in init obj.init(input,xmlob,self.find_id(node,obj.id)) File "/usr/share/univention-webui/modules/table.py", line 48, in init uniconf.init(self,input,xmlob,node) File "/usr/share/univention-webui/modules/uniconf.py", line 185, in init obj.init(input,xmlob,self.find_id(node,obj.id)) File "/usr/share/univention-webui/modules/table.py", line 48, in init uniconf.init(self,input,xmlob,node) File "/usr/share/univention-webui/modules/uniconf.py", line 178, in init if not id.has_key(obj.name): AttributeError: 'NoneType' object has no attribute 'name'
(In reply to comment #9) > id.has_key(obj.name): > AttributeError: 'NoneType' object has no attribute 'name' Bitte immer den UVMMd Log anhängen.
(In reply to comment #10) > (In reply to comment #9) > > id.has_key(obj.name): > > AttributeError: 'NoneType' object has no attribute 'name' > > Bitte immer den UVMMd Log anhängen. entsprechender Auszug: 2010-08-10 10:51:32,013 - uvmmd.command - DEBUG - NODE_QUERY qemu://kvmmaster.univention.kvm/system 2010-08-10 10:51:32,015 - uvmmd.command - DEBUG - DOMAIN_DEFINE qemu://kvmmaster.univention.kvm/system <univention.uvmm.protocol.Data_Domain object at 0x234ce90> 2010-08-10 10:51:32,016 - uvmmd.node - DEBUG - Searching for template: arch=i686 domain_type=kvm os_type=hvm 2010-08-10 10:51:32,016 - uvmmd.node - DEBUG - template: DomainTemplate(arch=i686 dom_type=qemu os_type=hvm): /usr/bin/kvm, None, [u'pc-0.12', u'pc', u'pc-0.11', u'pc-0.10', u'isapc'], ['pae', u'acpi', u'apic'] 2010-08-10 10:51:32,016 - uvmmd.node - DEBUG - template: DomainTemplate(arch=i686 dom_type=kvm os_type=hvm): /usr/bin/kvm, None, [u'pc-0.12', u'pc', u'pc-0.11', u'pc-0.10', u'isapc'], ['pae', u'acpi', u'apic'] 2010-08-10 10:51:32,016 - uvmmd.node - DEBUG - DISKS: [<univention.uvmm.node.Disk object at 0x249bc90>] 2010-08-10 10:51:32,016 - uvmmd.node - DEBUG - DISK: Disk(disk,file): /var/lib/libvirt/images/winxp-7-0.img, hda 2010-08-10 10:51:32,017 - uvmmd.storage - INFO - create_storage_volume: libvirt error (50): Storage volume not found: no storage vol with matching path 2010-08-10 10:51:32,021 - uvmmd.storage - ERROR - cannot create path '/var/lib/libvirt/images/winxp-7-0.img': File too large 2010-08-10 10:51:32,021 - uvmmd.unix - WARNING - [12] Error doing command "DOMAIN_DEFINE": Error creating storage volume "/var/lib/libvirt/images/winxp-7-0.img" for "winxp-7": cannot create path '/var/lib/libvirt/images/winxp-7-0.img': File too large
(In reply to comment #11) > "DOMAIN_DEFINE": Error creating storage volume > "/var/lib/libvirt/images/winxp-7-0.img" for "winxp-7": cannot create path > '/var/lib/libvirt/images/winxp-7-0.img': File too large Das wird jetzt auch im Domain Wizard abgefangen. Da der genaue Fehler dem UMC Modul nicht bekannt ist, wird die Liste aller erzeugten Laufwerke gelöst und es müssen erneut die Laufwerke definiert werden.
(In reply to comment #12) > (In reply to comment #11) > > "DOMAIN_DEFINE": Error creating storage volume > > "/var/lib/libvirt/images/winxp-7-0.img" for "winxp-7": cannot create path > > '/var/lib/libvirt/images/winxp-7-0.img': File too large > > Das wird jetzt auch im Domain Wizard abgefangen. Da der genaue Fehler dem UMC > Modul nicht bekannt ist, wird die Liste aller erzeugten Laufwerke gelöst und es > müssen erneut die Laufwerke definiert werden. verified
UCS 2.4 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer neueren Version von UCS erneut auftreten, so sollte der Bug dupliziert werden: "Clone This Bug".