def getAttrRO(self):
attrRO = ['VIFs',
- 'PIFs']
+ 'PIFs',
+ 'managed']
return XendBase.getAttrRO() + attrRO
def getAttrInst(self):
'name_description': '',
'other_config': {},
'default_gateway': '',
- 'default_netmask': ''
+ 'default_netmask': '',
+ 'managed': False,
}
network = XendNetwork(record, uuid)
# Create network if it doesn't already exist
if not bridge_exists(network.name_label):
- Brctl.bridge_create(network.name_label)
+ if network.managed:
+ Brctl.bridge_create(network.name_label)
+ else:
+ log.info("Not recreating missing unmanaged network %s" % network.name_label)
return uuid
recreate = classmethod(recreate)
create = classmethod(create)
- def __init__(self, record, uuid):
+ def __init__(self, record, uuid):
+ # This is a read-only attr, so we need to
+ # set it here, as super class won't try to
+ if record.has_key("managed"):
+ self.managed = record["managed"]
+ else:
+ self.managed = True
XendBase.__init__(self, uuid, record)
#
self.name_description = new_desc
XendNode.instance().save_networks()
+ def get_managed(self):
+ return self.managed
+
def get_VIFs(self):
result = []
vms = XendDomain.instance().get_all_vms()