From 8785b71bf98dd3df35c11f23d77ebce99af91bd3 Mon Sep 17 00:00:00 2001 From: Apollon Oikonomopoulos <apollon@noc.grnet.gr> Date: Mon, 30 May 2011 14:02:25 +0300 Subject: [PATCH] Fix argument order in ReserveLV and ReserveMAC ConfigWriter.ReserveLV() and Configwriter.ReserveMAC() called TemporaryReservationManager.Reserve() with the ec_id and resource arguments swapped. As a result, two reservation attempts for the same resource type within the same LU would fail, even if the resources requested were different, e.g.: $ gnt-instance add -t sharedfile -o debootstrap+default \ --net 0:mac=00:01:02:03:04:00 \ --net 1:mac=00:01:02:03:04:ff \ --disk 0:size=2g test_instance Failure: prerequisites not met for this operation: error type: resource_not_unique, error details: MAC address 00:01:02:03:04:ff already in use in cluster This patch fixes the argument order in the call to Reserve(). Signed-off-by: Apollon Oikonomopoulos <apollon@noc.grnet.gr> Signed-off-by: Guido Trotter <ultrotter@google.com> Reviewed-by: Guido Trotter <ultrotter@google.com> --- lib/config.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/config.py b/lib/config.py index fe580ef20..eaaf9e029 100644 --- a/lib/config.py +++ b/lib/config.py @@ -212,7 +212,7 @@ class ConfigWriter: if mac in all_macs: raise errors.ReservationError("mac already in use") else: - self._temporary_macs.Reserve(mac, ec_id) + self._temporary_macs.Reserve(ec_id, mac) @locking.ssynchronized(_config_lock, shared=1) def ReserveLV(self, lv_name, ec_id): @@ -226,7 +226,7 @@ class ConfigWriter: if lv_name in all_lvs: raise errors.ReservationError("LV already in use") else: - self._temporary_lvs.Reserve(lv_name, ec_id) + self._temporary_lvs.Reserve(ec_id, lv_name) @locking.ssynchronized(_config_lock, shared=1) def GenerateDRBDSecret(self, ec_id): -- GitLab