import os, os.path
import subprocess
import pprint
+import random
import libvirt
logger.verbose('sliver_libvirt: %s is RUNNING'%self.name)
return True
else:
- info = debuginfo(self.dom)
+ info = Sliver_Libvirt.debuginfo(self.dom)
logger.verbose('sliver_libvirt: %s is ' \
'NOT RUNNING...\n%s'%(self.name, info))
return False
# Call the upper configure method (ssh keys...)
Account.configure(self, rec)
+ @staticmethod
+ def get_unique_vif():
+ return 'veth%s' % random.getrandbits(32)
+
# A placeholder until we get true VirtualInterface objects
@staticmethod
def get_interfaces_xml(rec):
xml = """
<interface type='network'>
<source network='default'/>
+ <target dev='%s'/>
</interface>
-"""
+""" % (Sliver_Libvirt.get_unique_vif())
try:
tags = rec['rspec']['tags']
if 'interface' in tags:
<source bridge='%s'/>
%s
<virtualport type='openvswitch'/>
+ <target dev='%s'/>
</interface>
- """ % (interface['bridge'], vlanxml)
+ """ % (interface['bridge'], vlanxml, Sliver_Libvirt.get_unique_vif())
else:
tag_xml = tag_xml + """
<interface type='network'>
<source network='default'/>
+ <target dev='%s'/>
</interface>
- """
+ """ % (Sliver_Libvirt.get_unique_vif())
+
xml = tag_xml
logger.log('sliver_libvirty.py: interface XML is: %s' % xml)