From: Todd Malsbary Date: Mon, 21 Sep 2020 18:20:00 +0000 (-0700) Subject: Make generation of VM MAC addresses idempotent. X-Git-Tag: v0.4.0~12 X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F12%2F3712%2F2;hp=1a75db5ff53c3069d9b4590904be73f4308996d9;p=icn.git Make generation of VM MAC addresses idempotent. This ensures that the network XML, VM XML, and Ironic node definitions remain in sync when the vm-setup playbooks is run multiple times. Issue-ID: ICN-453 Signed-off-by: Todd Malsbary Change-Id: I2f48a91b6a031bffb9a204fa8d93de326bc94b54 --- diff --git a/deploy/metal3-vm/vm-setup/library/generate_macs.py b/deploy/metal3-vm/vm-setup/library/generate_macs.py index f304c6f..d4f09fb 100644 --- a/deploy/metal3-vm/vm-setup/library/generate_macs.py +++ b/deploy/metal3-vm/vm-setup/library/generate_macs.py @@ -15,6 +15,7 @@ # generate_baremetal_macs method ripped from # openstack/tripleo-incubator/scripts/configure-vm +import marshal import math import random @@ -50,6 +51,10 @@ def generate_baremetal_macs(nodes, networks): raise ValueError("The MAX num of MACS supported is %i " "(you specified %i)." % (MAX_NUM_MACS, count)) + # See the random number generator with the input so that MAC + # generation is idempotent. + random.seed(marshal.dumps(nodes + networks)) + base_nums = [0x00, random.randint(0x00, 0xff), random.randint(0x00, 0xff),