def test_SetUp_ENV(self): ''' @summary: 创建一个数据中心 ''' dcapi = DataCenterAPIs() # 创建1个数据中心(共享类型) LogPrint().info("Pre-Module-Test-1: Create DataCenter '%s'." % self.dm.dc_nfs_name) self.assertTrue(dcapi.createDataCenter(self.dm.xml_dc_info)['status_code']==self.dm.expected_status_code_create_dc) capi = ClusterAPIs() # 创建1个集群,开启集群服务 LogPrint().info("Pre-Module-Test-2: Create Cluster '%s' in DataCenter '%s'." % (self.dm.cluster_nfs_name, self.dm.dc_nfs_name)) self.assertTrue(capi.createCluster(self.dm.xml_cluster_info)['status_code']==self.dm.expected_status_code_create_cluster) # 在NFS数据中心中创建两个主机,并等待主机UP。 LogPrint().info("Pre-Module-Test-3: Create Host '%s' in Cluster '%s'." % (self.dm.host1_name, self.dm.cluster_nfs_name)) self.assertTrue(smart_create_host(self.dm.host1_name, self.dm.xml_host1_info)) self.assertTrue(smart_create_host(self.dm.host2_name, self.dm.xml_host2_info)) # 为数据中心创建Data域。 @BaseTestCase.drive_data(self, self.dm.xml_storage_info) def create_storage_domains(xml_storage_domain_info): sd_name = xmltodict.parse(xml_storage_domain_info)['storage_domain']['name'] LogPrint().info("Pre-Module-Test-4: Create Data Storage '%s'." % sd_name) self.assertTrue(smart_create_storage_domain(sd_name, xml_storage_domain_info)) create_storage_domains() # 将创建的的data1、data2和export、iso域附加到NFS/ISCSI数据中心里。 LogPrint().info("Pre-Module-Test-5: Attach the data storages to data centers.") self.assertTrue(smart_attach_storage_domain(self.dm.dc_nfs_name, self.dm.data1_nfs_name)) self.assertTrue(smart_attach_storage_domain(self.dm.dc_nfs_name, self.dm.data2_nfs_name)) self.assertTrue(smart_attach_storage_domain(self.dm.dc_nfs_name, self.dm.export1_name)) self.assertTrue(smart_attach_storage_domain(self.dm.dc_nfs_name, self.dm.iso1_name))
def test_CreateModuleTestEnv(self): dcapi = DataCenterAPIs() capi = ClusterAPIs() # 创建1个数据中心(nfs类型) LogPrint().info("Pre-Module-Test-1: Create DataCenter '%s'." % self.dm.dc_nfs_name) self.assertTrue(dcapi.createDataCenter(self.dm.xml_dc_info)['status_code']==self.dm.expected_status_code_create_dc) # 创建1个集群 LogPrint().info("Pre-Module-Test-2: Create Cluster '%s' in DataCenter '%s'." % (self.dm.cluster_nfs_name, self.dm.dc_nfs_name)) self.assertTrue(capi.createCluster(self.dm.xml_cluster_info)['status_code']==self.dm.expected_status_code_create_cluster) # 在NFS数据中心中创建一个主机,并等待主机UP。 LogPrint().info("Pre-Module-Test-3: Create Host '%s' in Cluster '%s'." % (self.dm.host1_name, self.dm.cluster_nfs_name)) self.assertTrue(smart_create_host(self.dm.host1_name, self.dm.xml_host_info)) # 为NFS数据中心创建Data(data1/data2/export)。 @BaseTestCase.drive_data(self, self.dm.xml_storage_info) def create_storage_domains(xml_storage_domain_info): sd_name = xmltodict.parse(xml_storage_domain_info)['storage_domain']['name'] LogPrint().info("Pre-Module-Test-4: Create Data Storage '%s'." % sd_name) self.assertTrue(smart_create_storage_domain(sd_name, xml_storage_domain_info)) create_storage_domains() # 将创建的的data1、data2和export域附加到NFS/ISCSI数据中心里。 LogPrint().info("Pre-Module-Test-5: Attach the data storages to data centers.") self.assertTrue(smart_attach_storage_domain(self.dm.dc_nfs_name, self.dm.data1_nfs_name)) self.assertTrue(smart_attach_storage_domain(self.dm.dc_nfs_name, self.dm.data2_nfs_name)) #self.assertTrue(smart_attach_storage_domain(self.dm.dc_nfs_name, self.dm.export1_name)) #创建一个虚拟机 self.vmapi = VirtualMachineAPIs() r = self.vmapi.createVm(self.dm.vm_info) if r['status_code'] == 201: self.vm_name = r['result']['vm']['name'] else: LogPrint().error("Create vm failed.Status-code is WRONG.") self.assertTrue(False) #创建一个磁盘 self.diskapi = DiskAPIs() sd_id = StorageDomainAPIs().getStorageDomainIdByName(ModuleData.data1_nfs_name) r = self.diskapi.createDisk(self.dm.disk_info, sd_id) def is_disk_ok(): return self.diskapi.getDiskStatus(self.disk_id)=='ok' if r['status_code'] == 202: self.disk_id = r['result']['disk']['@id'] if wait_until(is_disk_ok, 200, 5): LogPrint().info("Create disk ok.") else: LogPrint().error("Create disk failed.Status-code is WRONG.") self.assertTrue(False) #将磁盘附加到虚拟机 self.vmdiskapi = VmDiskAPIs() r=self.vmdiskapi.attachDiskToVm(self.vm_name, self.disk_id) if r['status_code'] == 200: LogPrint().info("Attach Disk to vm SUCCESS.") else: LogPrint().error("Attach Disk to vm fail.Status-code is WRONG.") self.assertTrue(False)
def test_Create_DcAndCluster(self): ''' @summary: 创建3个数据中心和3个集群 ''' dcapi = DataCenterAPIs() capi = ClusterAPIs() # 创建1个共享数据中心 LogPrint().info("Pre-Module-Test-1: Create DataCenter '%s'." % self.dm.dc_name) self.assertTrue( dcapi.createDataCenter(self.dm.dc_info)['status_code'] == self.dm.expected_status_code_create_dc) # 创建集群 LogPrint().info( "Pre-Module-Test-2: Create Cluster '%s' in DataCenter '%s'." % (self.dm.cluster_name, self.dm.dc_name)) self.assertTrue( capi.createCluster(self.dm.cluster_info)['status_code'] == self.dm.expected_status_code_create_cluster) # 在数据中心中创建两个主机,并等待主机UP。 @BaseTestCase.drive_data(self, self.dm.hosts_info_xml) def create_hosts(xml_host_info): LogPrint().info( "Pre-Module-Test-3: Create Host '%s' in Cluster '%s'." % (xmltodict.parse(xml_host_info)['host']['name'], xmltodict.parse(xml_host_info)['host']['cluster']['name'])) self.assertTrue( smart_create_host( xmltodict.parse(xml_host_info)['host']['name'], xml_host_info)) create_hosts() # 为数据中心创建一个nfs类型Data域、ISO/Export域。 @BaseTestCase.drive_data(self, self.dm.xml_datas_info) def create_storage_domains(xml_storage_domain_info): sd_name = xmltodict.parse( xml_storage_domain_info)['storage_domain']['name'] LogPrint().info("Pre-Module-Test-4: Create Data Storage '%s'." % (sd_name)) self.assertTrue( smart_create_storage_domain(sd_name, xml_storage_domain_info)) create_storage_domains() # 将创建的的Data域分别附加到数据中心。 LogPrint().info( "Pre-Module-Test-5: Attach the data storages to data centers.") self.assertTrue( smart_attach_storage_domain(self.dm.dc_name, self.dm.data1_nfs_name)) # self.assertTrue(smart_attach_storage_domain(self.dm.dc_name, self.dm.data1_iscsi_name)) self.assertTrue( smart_attach_storage_domain(self.dm.dc_name, self.dm.iso1_name)) self.assertTrue( smart_attach_storage_domain(self.dm.dc_name, self.dm.export1_name))
def test_SetUp_ENV(self): ''' @summary: 创建一个数据中心 ''' dcapi = DataCenterAPIs() # 创建1个数据中心(共享类型) LogPrint().info("Pre-Module-Test-1: Create DataCenter '%s'." % self.dm.dc_nfs_name) self.assertTrue( dcapi.createDataCenter(self.dm.xml_dc_info)['status_code'] == self.dm.expected_status_code_create_dc) capi = ClusterAPIs() # 创建1个集群,开启集群服务 LogPrint().info( "Pre-Module-Test-2: Create Cluster '%s' in DataCenter '%s'." % (self.dm.cluster_nfs_name, self.dm.dc_nfs_name)) self.assertTrue( capi.createCluster(self.dm.xml_cluster_info)['status_code'] == self.dm.expected_status_code_create_cluster) # 在NFS数据中心中创建两个主机,并等待主机UP。 LogPrint().info( "Pre-Module-Test-3: Create Host '%s' in Cluster '%s'." % (self.dm.host1_name, self.dm.cluster_nfs_name)) self.assertTrue( smart_create_host(self.dm.host1_name, self.dm.xml_host1_info)) self.assertTrue( smart_create_host(self.dm.host2_name, self.dm.xml_host2_info)) # 为数据中心创建Data域。 @BaseTestCase.drive_data(self, self.dm.xml_storage_info) def create_storage_domains(xml_storage_domain_info): sd_name = xmltodict.parse( xml_storage_domain_info)['storage_domain']['name'] LogPrint().info("Pre-Module-Test-4: Create Data Storage '%s'." % sd_name) self.assertTrue( smart_create_storage_domain(sd_name, xml_storage_domain_info)) create_storage_domains() # 将创建的的data1、data2和export、iso域附加到NFS/ISCSI数据中心里。 LogPrint().info( "Pre-Module-Test-5: Attach the data storages to data centers.") self.assertTrue( smart_attach_storage_domain(self.dm.dc_nfs_name, self.dm.data1_nfs_name)) self.assertTrue( smart_attach_storage_domain(self.dm.dc_nfs_name, self.dm.data2_nfs_name)) self.assertTrue( smart_attach_storage_domain(self.dm.dc_nfs_name, self.dm.export1_name)) self.assertTrue( smart_attach_storage_domain(self.dm.dc_nfs_name, self.dm.iso1_name))
def test_CreateModuleTestEnv(self): ''' @summary: 创建Disk模块测试环境 ''' dcapi = DataCenterAPIs() capi = ClusterAPIs() # 创建1个数据中心(nfs类型) LogPrint().info("Pre-Module-Test-1: Create DataCenter '%s'." % self.dm.dc_nfs_name) self.assertTrue(dcapi.createDataCenter(self.dm.xml_dc_info)['status_code']==self.dm.expected_status_code_create_dc) # 创建1个集群 LogPrint().info("Pre-Module-Test-2: Create Cluster '%s' in DataCenter '%s'." % (self.dm.cluster_nfs_name, self.dm.dc_nfs_name)) self.assertTrue(capi.createCluster(self.dm.xml_cluster_info)['status_code']==self.dm.expected_status_code_create_cluster) # 在NFS数据中心中创建一个主机,并等待主机UP。 LogPrint().info("Pre-Module-Test-3: Create Host '%s' in Cluster '%s'." % (self.dm.host1_name, self.dm.cluster_nfs_name)) self.assertTrue(smart_create_host(self.dm.host1_name, self.dm.xml_host_info)) # 为NFS数据中心创建Data(data1/data2)。 @BaseTestCase.drive_data(self, self.dm.xml_storage_info) def create_storage_domains(xml_storage_domain_info): sd_name = xmltodict.parse(xml_storage_domain_info)['storage_domain']['name'] LogPrint().info("Pre-Module-Test-4: Create Data Storage '%s'." % sd_name) self.assertTrue(smart_create_storage_domain(sd_name, xml_storage_domain_info)) create_storage_domains() # 将创建的的data1附加到NFS/ISCSI数据中心里(data2/Iso/Export处于游离状态)。 LogPrint().info("Pre-Module-Test-5: Attach the data storages to data centers.") self.assertTrue(smart_attach_storage_domain(self.dm.dc_nfs_name, self.dm.data1_nfs_name))
def test_Create_DcAndCluster(self): """ @summary: 创建3个数据中心和3个集群 """ dcapi = DataCenterAPIs() capi = ClusterAPIs() # 创建1个共享数据中心 LogPrint().info("Pre-Module-Test-1: Create DataCenter '%s'." % self.dm.dc_name) self.assertTrue( dcapi.createDataCenter(self.dm.dc_info)["status_code"] == self.dm.expected_status_code_create_dc ) # 创建集群 LogPrint().info( "Pre-Module-Test-2: Create Cluster '%s' in DataCenter '%s'." % (self.dm.cluster_name, self.dm.dc_name) ) self.assertTrue( capi.createCluster(self.dm.cluster_info)["status_code"] == self.dm.expected_status_code_create_cluster ) # 在数据中心中创建两个主机,并等待主机UP。 @BaseTestCase.drive_data(self, self.dm.hosts_info_xml) def create_hosts(xml_host_info): LogPrint().info( "Pre-Module-Test-3: Create Host '%s' in Cluster '%s'." % ( xmltodict.parse(xml_host_info)["host"]["name"], xmltodict.parse(xml_host_info)["host"]["cluster"]["name"], ) ) self.assertTrue(smart_create_host(xmltodict.parse(xml_host_info)["host"]["name"], xml_host_info)) create_hosts() # 为数据中心创建一个nfs类型Data域、ISO/Export域。 @BaseTestCase.drive_data(self, self.dm.xml_datas_info) def create_storage_domains(xml_storage_domain_info): sd_name = xmltodict.parse(xml_storage_domain_info)["storage_domain"]["name"] LogPrint().info("Pre-Module-Test-4: Create Data Storage '%s'." % (sd_name)) self.assertTrue(smart_create_storage_domain(sd_name, xml_storage_domain_info)) create_storage_domains() # 将创建的的Data域分别附加到数据中心。 LogPrint().info("Pre-Module-Test-5: Attach the data storages to data centers.") self.assertTrue(smart_attach_storage_domain(self.dm.dc_name, self.dm.data1_nfs_name)) # self.assertTrue(smart_attach_storage_domain(self.dm.dc_name, self.dm.data1_iscsi_name)) self.assertTrue(smart_attach_storage_domain(self.dm.dc_name, self.dm.iso1_name)) self.assertTrue(smart_attach_storage_domain(self.dm.dc_name, self.dm.export1_name))
def test_Scene(self): ''' @summary: 测试场景描述 ''' volumeapi = GlusterVolumeAPIs() #创建一个distributed_replicate类型的卷disrep,Replica Count=2,brick=4 LogPrint().info("Create volume disrep") r = volumeapi.createGlusterVolume(self.dm.cluster_name, self.dm.xml_volume_disrep) if r['status_code'] == self.dm.expected_status_code_create_volume: LogPrint().info("PASS:Create volume disrep success.") self.flag = True else: LogPrint().error("FAIL:Status_code is WRONG.") self.flag = False self.assertTrue(self.flag) LogPrint().info("Start volume disrep") r = volumeapi.startGlusterVolume(self.dm.cluster_name, "disrep") if r['status_code'] == self.dm.expected_status_code_start_volume: def is_volume_up(): return volumeapi.getClusterVolumeStatus(self.dm.cluster_name, "disrep") == "up" if wait_until(is_volume_up, 600, 5): LogPrint().info("PASS:Start volume disrep success.") self.flag = True else: LogPrint().error("FAIL:Start volume failed.Status is not UP.") self.flag = False else: LogPrint().error("FAIL:Status_code is WRONG.") self.flag = False self.assertTrue(self.flag) # # #利用该卷创建一个glusterfs类型的存储域 sdapi = StorageDomainAPIs() LogPrint().info("Create glusterfs storagedomain '%s'."%self.dm.sd_name) r = sdapi.createStorageDomain(self.dm.xml_sd_info) if r['status_code'] == self.dm.expected_status_code_create_sd: LogPrint().info("PASS:Create glusterfs storagedomain '%s' SUCCESS."%self.dm.sd_name) self.flag=True else: LogPrint().info("FAIL:Create glusterfs storagedomain '%s' FAIL."%self.dm.sd_name) self.flag=False self.assertTrue(self.flag) # #将存储域附加到数据中心 LogPrint().info("Attach glusterfs storagedomain '%s'to DC '%s'."%(self.dm.sd_name, self.dm.dc_name)) self.assertTrue(smart_attach_storage_domain(self.dm.dc_name, self.dm.sd_name)) # #创建虚拟机,为虚拟机添加磁盘,启动虚拟机 LogPrint().info("Create a VM '%s'."%self.dm.vm_name) self.assertTrue(smart_create_vm(self.dm.vm_name, self.dm.xml_vm_info)) LogPrint().info("ADD DISK '%s' for VM '%s'."%(self.dm.disk_alias,self.dm.vm_name)) self.assertTrue(smart_create_vmdisk(self.dm.vm_name, self.dm.xml_disk_info, self.dm.disk_alias)[0]) LogPrint().info("Start VM '%s'."%(self.dm.vm_name)) self.assertTrue(smart_start_vm(self.dm.vm_name)) # #关闭虚拟机,创建模板,创建子模板 LogPrint().info("Stop VM '%s'."%(self.dm.vm_name)) self.assertTrue(smart_stop_vm(self.dm.vm_name)) self.assertTrue(smart_create_template(self.dm.base_temp_name, self.dm.temp_info)) self.assertTrue(smart_create_template(self.dm.base_temp_name, self.dm.zi_temp_info, self.dm.temp_name))
def test_Create_DcAndCluster(self): ''' @summary: 创建3个数据中心和3个集群 ''' dcapi = DataCenterAPIs() capi = ClusterAPIs() # 创建3个数据中心(3种类型) @BaseTestCase.drive_data(self, self.dm.dc_info) def create_data_centers(xml_dc_info): LogPrint().info("Pre-Module-Test-1: Create DataCenter '%s'." % xmltodict.parse(xml_dc_info)['data_center']['name']) self.assertTrue(dcapi.createDataCenter(xml_dc_info)['status_code']==self.dm.expected_status_code_create_dc) create_data_centers() # 创建3个集群 @BaseTestCase.drive_data(self, self.dm.cluster_info) def create_clusters(xml_cluster_info): LogPrint().info("Pre-Module-Test-2: Create Cluster '%s' in DataCenter '%s'." % (xmltodict.parse(xml_cluster_info)['cluster']['name'], xmltodict.parse(xml_cluster_info)['cluster']['data_center']['name'])) self.assertTrue(capi.createCluster(xml_cluster_info)['status_code']==self.dm.expected_status_code_create_cluster) create_clusters() # 在NFS/ISCSI数据中心中分别创建一个主机,并等待主机UP。 @BaseTestCase.drive_data(self, self.dm.hosts_info_xml) def create_hosts(xml_host_info): LogPrint().info("Pre-Module-Test-3: Create Host '%s' in Cluster '%s'." % (xmltodict.parse(xml_host_info)['host']['name'], xmltodict.parse(xml_host_info)['host']['cluster']['name'])) self.assertTrue(smart_create_host(xmltodict.parse(xml_host_info)['host']['name'], xml_host_info)) create_hosts() # 为NFS/ISCSI数据中心分别创建Data域,为NFS数据中心创建ISO/Export域。 @BaseTestCase.drive_data(self, self.dm.xml_datas_info) def create_storage_domains(xml_storage_domain_info): sd_name = xmltodict.parse(xml_storage_domain_info)['storage_domain']['name'] LogPrint().info("Pre-Module-Test-4: Create Data Storage '%s'." % (sd_name)) self.assertTrue(smart_create_storage_domain(sd_name, xml_storage_domain_info)) create_storage_domains() # 将创建的的Data域分别附加到NFS/ISCSI数据中心里。 LogPrint().info("Pre-Module-Test-5: Attach the data storages to data centers.") self.assertTrue(smart_attach_storage_domain(self.dm.dc_nfs_name, self.dm.data1_nfs_name)) self.assertTrue(smart_attach_storage_domain(self.dm.dc_iscsi_name, self.dm.data1_iscsi_name)) self.assertTrue(smart_attach_storage_domain(self.dm.dc_nfs_name, self.dm.iso1_name)) self.assertTrue(smart_attach_storage_domain(self.dm.dc_nfs_name, self.dm.export1_name))
def test_CreateModuleTestEnv(self): dcapi = DataCenterAPIs() capi = ClusterAPIs() # 创建1个数据中心(nfs类型) LogPrint().info("Pre-Module-Test-1: Create DataCenter '%s'." % self.dm.dc_nfs_name) self.assertTrue( dcapi.createDataCenter(self.dm.xml_dc_info)['status_code'] == self.dm.expected_status_code_create_dc) # 创建1个集群 LogPrint().info( "Pre-Module-Test-2: Create Cluster '%s' in DataCenter '%s'." % (self.dm.cluster_nfs_name, self.dm.dc_nfs_name)) self.assertTrue( capi.createCluster(self.dm.xml_cluster_info)['status_code'] == self.dm.expected_status_code_create_cluster) # 在NFS数据中心中创建一个主机,并等待主机UP。 LogPrint().info( "Pre-Module-Test-3: Create Host '%s' in Cluster '%s'." % (self.dm.host1_name, self.dm.cluster_nfs_name)) self.assertTrue( smart_create_host(self.dm.host1_name, self.dm.xml_host_info)) # 为NFS数据中心创建Data(data1/data2/export)。 @BaseTestCase.drive_data(self, self.dm.xml_storage_info) def create_storage_domains(xml_storage_domain_info): sd_name = xmltodict.parse( xml_storage_domain_info)['storage_domain']['name'] LogPrint().info("Pre-Module-Test-4: Create Data Storage '%s'." % sd_name) self.assertTrue( smart_create_storage_domain(sd_name, xml_storage_domain_info)) create_storage_domains() # 将创建的的data1、data2和export域附加到NFS/ISCSI数据中心里。 LogPrint().info( "Pre-Module-Test-5: Attach the data storages to data centers.") self.assertTrue( smart_attach_storage_domain(self.dm.dc_nfs_name, self.dm.data1_nfs_name)) self.assertTrue( smart_attach_storage_domain(self.dm.dc_nfs_name, self.dm.data2_nfs_name)) #self.assertTrue(smart_attach_storage_domain(self.dm.dc_nfs_name, self.dm.export1_name)) #创建一个虚拟机 self.vmapi = VirtualMachineAPIs() r = self.vmapi.createVm(self.dm.vm_info) if r['status_code'] == 201: self.vm_name = r['result']['vm']['name'] else: LogPrint().error("Create vm failed.Status-code is WRONG.") self.assertTrue(False) #创建一个磁盘 self.diskapi = DiskAPIs() sd_id = StorageDomainAPIs().getStorageDomainIdByName( ModuleData.data1_nfs_name) r = self.diskapi.createDisk(self.dm.disk_info, sd_id) def is_disk_ok(): return self.diskapi.getDiskStatus(self.disk_id) == 'ok' if r['status_code'] == 202: self.disk_id = r['result']['disk']['@id'] if wait_until(is_disk_ok, 200, 5): LogPrint().info("Create disk ok.") else: LogPrint().error("Create disk failed.Status-code is WRONG.") self.assertTrue(False) #将磁盘附加到虚拟机 self.vmdiskapi = VmDiskAPIs() r = self.vmdiskapi.attachDiskToVm(self.vm_name, self.disk_id) if r['status_code'] == 200: LogPrint().info("Attach Disk to vm SUCCESS.") else: LogPrint().error("Attach Disk to vm fail.Status-code is WRONG.") self.assertTrue(False)
def test_Scene(self): ''' @summary: 测试场景描述 ''' volumeapi = GlusterVolumeAPIs() #创建一个distributed_replicate类型的卷disrep,Replica Count=2,brick=4 LogPrint().info("Create volume disrep") r = volumeapi.createGlusterVolume(self.dm.cluster_name, self.dm.xml_volume_disrep) if r['status_code'] == self.dm.expected_status_code_create_volume: LogPrint().info("PASS:Create volume disrep success.") self.flag = True else: LogPrint().error("FAIL:Status_code is WRONG.") self.flag = False self.assertTrue(self.flag) LogPrint().info("Start volume disrep") r = volumeapi.startGlusterVolume(self.dm.cluster_name, "disrep") if r['status_code'] == self.dm.expected_status_code_start_volume: def is_volume_up(): return volumeapi.getClusterVolumeStatus( self.dm.cluster_name, "disrep") == "up" if wait_until(is_volume_up, 600, 5): LogPrint().info("PASS:Start volume disrep success.") self.flag = True else: LogPrint().error("FAIL:Start volume failed.Status is not UP.") self.flag = False else: LogPrint().error("FAIL:Status_code is WRONG.") self.flag = False self.assertTrue(self.flag) # # #利用该卷创建一个glusterfs类型的存储域 sdapi = StorageDomainAPIs() LogPrint().info("Create glusterfs storagedomain '%s'." % self.dm.sd_name) r = sdapi.createStorageDomain(self.dm.xml_sd_info) if r['status_code'] == self.dm.expected_status_code_create_sd: LogPrint().info( "PASS:Create glusterfs storagedomain '%s' SUCCESS." % self.dm.sd_name) self.flag = True else: LogPrint().info("FAIL:Create glusterfs storagedomain '%s' FAIL." % self.dm.sd_name) self.flag = False self.assertTrue(self.flag) # #将存储域附加到数据中心 LogPrint().info("Attach glusterfs storagedomain '%s'to DC '%s'." % (self.dm.sd_name, self.dm.dc_name)) self.assertTrue( smart_attach_storage_domain(self.dm.dc_name, self.dm.sd_name)) # #创建虚拟机,为虚拟机添加磁盘,启动虚拟机 LogPrint().info("Create a VM '%s'." % self.dm.vm_name) self.assertTrue(smart_create_vm(self.dm.vm_name, self.dm.xml_vm_info)) LogPrint().info("ADD DISK '%s' for VM '%s'." % (self.dm.disk_alias, self.dm.vm_name)) self.assertTrue( smart_create_vmdisk(self.dm.vm_name, self.dm.xml_disk_info, self.dm.disk_alias)[0]) LogPrint().info("Start VM '%s'." % (self.dm.vm_name)) self.assertTrue(smart_start_vm(self.dm.vm_name)) # #关闭虚拟机,创建模板,创建子模板 LogPrint().info("Stop VM '%s'." % (self.dm.vm_name)) self.assertTrue(smart_stop_vm(self.dm.vm_name)) self.assertTrue( smart_create_template(self.dm.base_temp_name, self.dm.temp_info)) self.assertTrue( smart_create_template(self.dm.base_temp_name, self.dm.zi_temp_info, self.dm.temp_name))