Reviewed-by: Aline Manera <alinefm(a)linux.vnet.ibm.com>
On 10/17/2014 05:26 AM, CrÃstian Viana wrote:
A function from a different module might require a new random MAC so
the
function "randomMAC", defined inside another function in VMIfacesModel,
should be declared in a public scope.
Move the definition of "randomMAC" to outside its outer function in
order to make it public.
Signed-off-by: CrÃstian Viana <vianac(a)linux.vnet.ibm.com>
---
src/kimchi/model/vmifaces.py | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/src/kimchi/model/vmifaces.py b/src/kimchi/model/vmifaces.py
index 66b3827..721bf14 100644
--- a/src/kimchi/model/vmifaces.py
+++ b/src/kimchi/model/vmifaces.py
@@ -38,13 +38,6 @@ class VMIfacesModel(object):
return macs
def create(self, vm, params):
- def randomMAC():
- mac = [0x52, 0x54, 0x00,
- random.randint(0x00, 0x7f),
- random.randint(0x00, 0xff),
- random.randint(0x00, 0xff)]
- return ':'.join(map(lambda x: "%02x" % x, mac))
-
conn = self.conn.get()
networks = conn.listNetworks() + conn.listDefinedNetworks()
@@ -59,11 +52,10 @@ class VMIfacesModel(object):
macs = (iface.mac.get('address')
for iface in self.get_vmifaces(vm, self.conn))
- mac = randomMAC()
while True:
+ mac = VMIfacesModel.random_mac()
if mac not in macs:
break
- mac = randomMAC()
children = [E.mac(address=mac)]
("network" in params.keys() and
@@ -86,6 +78,14 @@ class VMIfacesModel(object):
return root.devices.findall("interface")
+ @staticmethod
+ def random_mac():
+ mac = [0x52, 0x54, 0x00,
+ random.randint(0x00, 0x7f),
+ random.randint(0x00, 0xff),
+ random.randint(0x00, 0xff)]
+ return ':'.join(map(lambda x: u'%02x' % x, mac))
+
class VMIfaceModel(object):
def __init__(self, **kargs):