Revision 72bac0c5
b/test/py/cmdlib/instance_unittest.py | ||
---|---|---|
626 | 626 |
wait_for_sync=False) |
627 | 627 |
self.ExecOpCode(op) |
628 | 628 |
|
629 |
def testImportPlainFromGivenSrcNode(self): |
|
630 |
exp_info = """ |
|
631 |
[export] |
|
632 |
version=0 |
|
633 |
os=mock_os |
|
634 |
[instance] |
|
635 |
name=old_name.example.com |
|
636 |
""" |
|
637 |
|
|
638 |
self.rpc.call_export_info.return_value = \ |
|
639 |
self.RpcResultsBuilder() \ |
|
640 |
.CreateSuccessfulNodeResult(self.master, exp_info) |
|
641 |
op = self.CopyOpCode(self.plain_op, |
|
642 |
mode=constants.INSTANCE_IMPORT, |
|
643 |
src_node=self.master.name) |
|
644 |
self.ExecOpCode(op) |
|
645 |
|
|
646 |
def testImportPlainWithoutSrcNodeNotFound(self): |
|
647 |
op = self.CopyOpCode(self.plain_op, |
|
648 |
mode=constants.INSTANCE_IMPORT) |
|
649 |
self.ExecOpCodeExpectOpPrereqError( |
|
650 |
op, "No export found for relative path") |
|
651 |
|
|
652 |
def testImportPlainWithoutSrcNode(self): |
|
653 |
exp_info = """ |
|
654 |
[export] |
|
655 |
version=0 |
|
656 |
os=mock_os |
|
657 |
[instance] |
|
658 |
name=old_name.example.com |
|
659 |
""" |
|
660 |
|
|
661 |
self.rpc.call_export_list.return_value = \ |
|
662 |
self.RpcResultsBuilder() \ |
|
663 |
.AddSuccessfulNode(self.master, {"mock_path": {}}) \ |
|
664 |
.Build() |
|
665 |
self.rpc.call_export_info.return_value = \ |
|
666 |
self.RpcResultsBuilder() \ |
|
667 |
.CreateSuccessfulNodeResult(self.master, exp_info) |
|
668 |
|
|
669 |
op = self.CopyOpCode(self.plain_op, |
|
670 |
mode=constants.INSTANCE_IMPORT, |
|
671 |
src_path="mock_path") |
|
672 |
self.ExecOpCode(op) |
|
673 |
|
|
674 |
def testImportPlainCorruptExportInfo(self): |
|
675 |
exp_info = "" |
|
676 |
self.rpc.call_export_info.return_value = \ |
|
677 |
self.RpcResultsBuilder() \ |
|
678 |
.CreateSuccessfulNodeResult(self.master, exp_info) |
|
679 |
op = self.CopyOpCode(self.plain_op, |
|
680 |
mode=constants.INSTANCE_IMPORT, |
|
681 |
src_node=self.master.name) |
|
682 |
self.ExecOpCodeExpectException(op, errors.ProgrammerError, |
|
683 |
"Corrupted export config") |
|
684 |
|
|
685 |
def testImportPlainWrongExportInfoVersion(self): |
|
686 |
exp_info = """ |
|
687 |
[export] |
|
688 |
version=1 |
|
689 |
""" |
|
690 |
self.rpc.call_export_info.return_value = \ |
|
691 |
self.RpcResultsBuilder() \ |
|
692 |
.CreateSuccessfulNodeResult(self.master, exp_info) |
|
693 |
op = self.CopyOpCode(self.plain_op, |
|
694 |
mode=constants.INSTANCE_IMPORT, |
|
695 |
src_node=self.master.name) |
|
696 |
self.ExecOpCodeExpectOpPrereqError(op, "Wrong export version") |
|
697 |
|
|
698 |
def testImportPlainWithParametersAndImport(self): |
|
699 |
exp_info = """ |
|
700 |
[export] |
|
701 |
version=0 |
|
702 |
os=mock_os |
|
703 |
[instance] |
|
704 |
name=old_name.example.com |
|
705 |
disk0_size=1024 |
|
706 |
disk1_size=1500 |
|
707 |
disk1_dump=mock_path |
|
708 |
nic0_mode=bridged |
|
709 |
nic0_link=br_mock |
|
710 |
nic0_mac=f6:ab:f4:45:d1:af |
|
711 |
nic0_ip=123.123.123.1 |
|
712 |
tags=tag1 tag2 |
|
713 |
hypervisor=xen-hvm |
|
714 |
[hypervisor] |
|
715 |
boot_order=cd |
|
716 |
[backend] |
|
717 |
memory=1024 |
|
718 |
vcpus=8 |
|
719 |
[os] |
|
720 |
param1=val1 |
|
721 |
""" |
|
722 |
|
|
723 |
self.rpc.call_export_info.return_value = \ |
|
724 |
self.RpcResultsBuilder() \ |
|
725 |
.CreateSuccessfulNodeResult(self.master, exp_info) |
|
726 |
self.rpc.call_import_start.return_value = \ |
|
727 |
self.RpcResultsBuilder() \ |
|
728 |
.CreateSuccessfulNodeResult(self.master, "daemon_name") |
|
729 |
self.rpc.call_impexp_status.return_value = \ |
|
730 |
self.RpcResultsBuilder() \ |
|
731 |
.CreateSuccessfulNodeResult(self.master, |
|
732 |
[ |
|
733 |
objects.ImportExportStatus(exit_status=0) |
|
734 |
]) |
|
735 |
self.rpc.call_impexp_cleanup.return_value = \ |
|
736 |
self.RpcResultsBuilder() \ |
|
737 |
.CreateSuccessfulNodeResult(self.master, True) |
|
738 |
|
|
739 |
op = self.CopyOpCode(self.plain_op, |
|
740 |
disks=[], |
|
741 |
nics=[], |
|
742 |
tags=[], |
|
743 |
hypervisor=None, |
|
744 |
hvparams={}, |
|
745 |
mode=constants.INSTANCE_IMPORT, |
|
746 |
src_node=self.master.name) |
|
747 |
self.ExecOpCode(op) |
|
748 |
|
|
749 |
|
|
629 | 750 |
class TestCheckOSVariant(CmdlibTestCase): |
630 | 751 |
def testNoVariantsSupported(self): |
631 | 752 |
os = self.cfg.CreateOs(supported_variants=[]) |
Also available in: Unified diff