diff --git a/core-modules/006QubesDom0NetVm.py b/core-modules/006QubesDom0NetVm.py index 3c1de9fd..43251e48 100644 --- a/core-modules/006QubesDom0NetVm.py +++ b/core-modules/006QubesDom0NetVm.py @@ -26,6 +26,10 @@ from qubes.qubes import defaults from qubes.qubes import QubesException,dry_run class QubesDom0NetVm(QubesNetVm): + + # In which order load this VM type from qubes.xml + load_order = 10 + def __init__(self, **kwargs): super(QubesDom0NetVm, self).__init__(qid=0, name="dom0", netid=0, dir_path=None, @@ -35,6 +39,10 @@ class QubesDom0NetVm(QubesNetVm): **kwargs) self.xid = 0 + @property + def type(self): + return "Dom0NetVM" + def is_running(self): return True @@ -83,9 +91,6 @@ class QubesDom0NetVm(QubesNetVm): domains = xc.domain_getinfo(0, 1) return domains[0] - def create_xml_element(self): - return None - def verify_files(self): return True diff --git a/core/qubes.py b/core/qubes.py index 2fcbb8d7..0532b1de 100755 --- a/core/qubes.py +++ b/core/qubes.py @@ -609,10 +609,6 @@ class QubesVmCollection(dict): def load(self): self.clear() - dom0vm = QubesDom0NetVm (collection=self) - self[dom0vm.qid] = dom0vm - self.default_netvm_qid = 0 - try: tree = lxml.etree.parse(self.qubes_store_file) except (EnvironmentError, @@ -661,6 +657,12 @@ class QubesVmCollection(dict): # using 123/udp port) if self.clockvm_qid is not None: self[self.clockvm_qid].services['ntpd'] = False + + # Add dom0 if wasn't present in qubes.xml + if not 0 in self.keys(): + dom0vm = QubesDom0NetVm (collection=self) + self[dom0vm.qid] = dom0vm + return True def pop(self, qid):