[Pkg-ganeti-devel] [ganeti] 07/165: Fix reference to instance disk template in attach
Apollon Oikonomopoulos
apoikos at moszumanska.debian.org
Tue Aug 11 13:53:08 UTC 2015
This is an automated email from the git hooks/post-receive script.
apoikos pushed a commit to branch master
in repository ganeti.
commit c8b133cb4934a280d4168583257fba280a8ec706
Author: Aaron Karper <akarper at google.com>
Date: Thu Jan 22 10:23:32 2015 +0100
Fix reference to instance disk template in attach
Since we don't have a disk template for instances anymore this patch
replaces the reference with the aggregate disk template. It also
allows attaching to diskless instances and removes the disk template
from the unittests.
Signed-off-by: Aaron Karper <akarper at google.com>
Reviewed-by: Klaus Aehlig <aehlig at google.com>
---
lib/cmdlib/instance_set_params.py | 6 ++++--
test/py/cmdlib/instance_unittest.py | 5 +++--
test/py/testutils/config_mock.py | 1 -
3 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/lib/cmdlib/instance_set_params.py b/lib/cmdlib/instance_set_params.py
index fafc026..fd6bcca 100644
--- a/lib/cmdlib/instance_set_params.py
+++ b/lib/cmdlib/instance_set_params.py
@@ -380,10 +380,12 @@ class LUInstanceSetParams(LogicalUnit):
name = params.get(constants.IDISK_NAME, None)
disk = self.GenericGetDiskInfo(uuid, name)
- if disk.dev_type != self.instance.disk_template:
+ instance_template = self.cfg.GetInstanceDiskTemplate(self.instance.uuid)
+ if (disk.dev_type != instance_template or
+ instance_template == constants.DT_DISKLESS):
raise errors.OpPrereqError("Instance has '%s' template while disk has"
" '%s' template" %
- (self.instance.disk_template, disk.dev_type),
+ (instance_template, disk.dev_type),
errors.ECODE_INVAL)
instance_nodes = self.cfg.GetInstanceNodes(self.instance.uuid)
diff --git a/test/py/cmdlib/instance_unittest.py b/test/py/cmdlib/instance_unittest.py
index 9201255..1783e81 100644
--- a/test/py/cmdlib/instance_unittest.py
+++ b/test/py/cmdlib/instance_unittest.py
@@ -2054,7 +2054,8 @@ class TestLUInstanceSetParams(CmdlibTestCase):
self.MockOut(instance_set_params, 'netutils', self.netutils_mod)
self.MockOut(instance_utils, 'netutils', self.netutils_mod)
- self.inst = self.cfg.AddNewInstance()
+ self.dev_type = constants.DT_PLAIN
+ self.inst = self.cfg.AddNewInstance(disk_template=self.dev_type)
self.op = opcodes.OpInstanceSetParams(instance_name=self.inst.name)
self.running_inst = \
@@ -2893,7 +2894,7 @@ class TestLUInstanceSetParams(CmdlibTestCase):
def testSetOldDiskTemplate(self):
op = self.CopyOpCode(self.op,
- disk_template=self.inst.disk_template)
+ disk_template=self.dev_type)
self.ExecOpCodeExpectOpPrereqError(
op, "Instance already has disk template")
diff --git a/test/py/testutils/config_mock.py b/test/py/testutils/config_mock.py
index e128d58..455e996 100644
--- a/test/py/testutils/config_mock.py
+++ b/test/py/testutils/config_mock.py
@@ -284,7 +284,6 @@ class ConfigMock(config.ConfigWriter):
admin_state_source=admin_state_source,
nics=nics,
disks=[],
- disk_template=disk_template,
disks_active=disks_active,
network_port=network_port)
self.AddInstance(inst, None)
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ganeti/ganeti.git
More information about the Pkg-ganeti-devel
mailing list