def create_checker(self, test_obj): vcenter_volume_checker_chain = checker_header.CheckerChain() checker_dict = {} if test_obj.state == volume_header.CREATED: checker_dict[db_checker.zstack_volume_db_checker] = True checker_dict[volume_checker.zstack_vcenter_volume_file_checker] = False elif test_obj.state == volume_header.ATTACHED: checker_dict[db_checker.zstack_volume_db_checker] = True checker_dict[volume_checker.zstack_vcenter_volume_file_checker] = True if not test_obj.target_vm.state == vm_header.DESTROYED: checker_dict[db_checker.zstack_volume_attach_db_checker] = True if test_obj.target_vm.state == vm_header.RUNNING: checker_dict[volume_checker.zstack_vcenter_volume_attach_checker] = True else: checker_dict[db_checker.zstack_volume_attach_db_checker] = False elif test_obj.state == volume_header.DETACHED: checker_dict[db_checker.zstack_volume_db_checker] = True checker_dict[db_checker.zstack_volume_attach_db_checker] = False checker_dict[volume_checker.zstack_vcenter_volume_attach_checker] = False checker_dict[volume_checker.zstack_vcenter_volume_file_checker] = True elif test_obj.state == volume_header.DELETED: checker_dict[db_checker.zstack_volume_db_checker] = True checker_dict[volume_checker.zstack_vcenter_volume_file_checker] = True elif test_obj.state == volume_header.EXPUNGED: checker_dict[db_checker.zstack_volume_db_checker] = False checker_dict[volume_checker.zstack_vcenter_volume_file_checker] = False vcenter_volume_checker_chain.add_checker_dict(checker_dict, test_obj) return vcenter_volume_checker_chain
def create_checker(self, test_obj): sim_volume_checker_chain = checker_header.CheckerChain() checker_dict = {} if test_obj.state == volume_header.CREATED: checker_dict[db_checker.zstack_volume_db_checker] = True elif test_obj.state == volume_header.ATTACHED: checker_dict[db_checker.zstack_volume_db_checker] = True if not test_obj.target_vm.state == vm_header.DESTROYED: checker_dict[db_checker.zstack_volume_attach_db_checker] = True else: checker_dict[db_checker.zstack_volume_attach_db_checker] = False elif test_obj.state == volume_header.DETACHED: checker_dict[db_checker.zstack_volume_db_checker] = True checker_dict[db_checker.zstack_volume_attach_db_checker] = False elif test_obj.state == volume_header.DELETED: checker_dict[db_checker.zstack_volume_db_checker] = True elif test_obj.state == volume_header.EXPUNGED: checker_dict[db_checker.zstack_volume_db_checker] = False sim_volume_checker_chain.add_checker_dict(checker_dict, test_obj) test_util.test_logger('Add checker: %s for [volume:] %s' % (sim_volume_checker_chain, test_obj.volume.uuid)) return sim_volume_checker_chain
def create_checker(self, test_obj): vip_checker_chain = checker_header.CheckerChain() if test_obj.get_state() == vip_header.ATTACHED: if test_obj.get_use_for() == vip_header.PortForwarding: checker = vip_checker.vip_used_for_checker() checker.set_target_use_for(vip_header.PortForwarding) vip_checker_chain.add_checker(checker, True, test_obj) vip_checker_chain.add_checker(vip_checker.pf_checker(), True, test_obj) for pf in test_obj.get_pf_list_for_running_vm(): vip_checker_chain.add_checker( pf_checker.zstack_kvm_pf_rule_exist_checker(), True, pf) for pf in test_obj.get_pf_list_for_stopped_vm(): #vip_checker_chain.add_checker(pf_checker.zstack_kvm_pf_rule_exist_checker(), True, pf) pass elif test_obj.get_use_for() == vip_header.Eip: checker = vip_checker.vip_used_for_checker() checker.set_target_use_for(vip_header.Eip) vip_checker_chain.add_checker(checker, True, test_obj) vip_checker_chain.add_checker(vip_checker.eip_checker(), True, test_obj) elif test_obj.get_state() == vip_header.DETACHED: vip_checker_chain.add_checker(vip_checker.vip_icmp_checker(), False, test_obj) elif test_obj.get_state() == vip_header.CREATED: vip_checker_chain.add_checker(vip_checker.vip_icmp_checker(), False, test_obj) elif test_obj.get_state() == vip_header.DELETED: vip_checker_chain.add_checker(vip_checker.vip_icmp_checker(), False, test_obj) return vip_checker_chain
def create_checker(self, test_obj): kvm_volume_checker_chain = checker_header.CheckerChain() checker_dict = {} if test_obj.state == volume_header.CREATED: checker_dict[db_checker.zstack_volume_db_checker] = True checker_dict[volume_checker.zstack_kvm_volume_file_checker] = False elif test_obj.state == volume_header.ATTACHED: checker_dict[db_checker.zstack_volume_db_checker] = True checker_dict[volume_checker.zstack_kvm_volume_file_checker] = True if not test_obj.target_vm.state == vm_header.DESTROYED: checker_dict[db_checker.zstack_volume_attach_db_checker] = True if test_obj.target_vm.state == vm_header.RUNNING: checker_dict[volume_checker.zstack_kvm_volume_attach_checker] = True else: checker_dict[db_checker.zstack_volume_attach_db_checker] = False elif test_obj.state == volume_header.DETACHED: checker_dict[db_checker.zstack_volume_db_checker] = True checker_dict[db_checker.zstack_volume_attach_db_checker] = False checker_dict[volume_checker.zstack_kvm_volume_attach_checker] = False checker_dict[volume_checker.zstack_kvm_volume_file_checker] = True elif test_obj.state == volume_header.DELETED: test_util.test_logger('volume has been deleted: %s' % test_obj.volume.uuid) checker_dict[db_checker.zstack_volume_db_checker] = False checker_dict[volume_checker.zstack_kvm_volume_file_checker] = False kvm_volume_checker_chain.add_checker_dict(checker_dict, test_obj) return kvm_volume_checker_chain
def create_checker(self, test_obj): lb_checker_chain = checker_header.CheckerChain() if test_obj.get_state() != lb_header.DELETED: lb_checker_chain.add_checker(db_checker.zstack_lb_db_checker(), \ True, test_obj) for lbl in test_obj.get_load_balancer_listeners().values(): if lbl.get_state() != lb_header.DELETED: checker = lb_checker.zstack_kvm_lbl_checker() checker.set_lbl(lbl) lb_checker_chain.add_checker(checker, True, test_obj) if test_obj.get_load_balancer_listeners(): if test_obj.is_separated_vr(): lb_checker_chain.add_checker(\ db_checker.zstack_alone_lb_vr_db_checker(),\ True, test_obj) else: lb_checker_chain.add_checker(\ db_checker.zstack_alone_lb_vr_db_checker(),\ False, test_obj) else: lb_checker_chain.add_checker(db_checker.zstack_lb_db_checker(), \ False, test_obj) return lb_checker_chain
def create_checker(self, test_obj): vid_policy_checker_chain = checker_header.CheckerChain() checker_dict = {} checker_dict[db_checker.zstack_vid_policy_db_checker] = True checker_dict[vid_checker.zstack_vid_policy_checker] = True vid_policy_checker_chain.add_checker_dict(checker_dict, test_obj) test_util.test_logger( 'Add checker: %s for [user:] %s' % (vid_policy_checker_chain, test_obj.get_vid_option().get_name())) return vid_policy_checker_chain
def create_checker(self, test_obj): kvm_vm_checker_chain = checker_header.CheckerChain() checker_dict = {} if test_obj.state == vm_header.RUNNING: checker_dict[vm_checker.zstack_kvm_vm_set_host_vlan_ip] = True checker_dict[db_checker.zstack_vm_db_checker] = True checker_dict[vm_checker.zstack_kvm_vm_running_checker] = True #if behind of VR vrs = test_lib.lib_find_vr_by_vm(test_obj.vm) if vrs: svr_types = test_lib.lib_get_l3s_service_type(test_obj.vm) #The first DHCP checker will wait for VM start up. if 'DHCP' in svr_types: checker_dict[vm_checker.zstack_kvm_vm_dhcp_checker] = True checker_dict[vm_checker.zstack_kvm_vm_network_checker] \ = True #if guest can't get IP address from DHCP, auto case can # not test DNS feature. if 'DNS' in svr_types: checker_dict[vm_checker.zstack_kvm_vm_dns_checker] \ = True else: checker_dict[vm_checker.zstack_kvm_vm_dns_checker] \ = False else: checker_dict[vm_checker.zstack_kvm_vm_dhcp_checker] = False checker_dict[vm_checker.zstack_kvm_vm_network_checker] \ = False if 'SNAT' in svr_types: checker_dict[vm_checker.zstack_kvm_vm_snat_checker] = True else: checker_dict[vm_checker.zstack_kvm_vm_snat_checker] = False #if 'PortForwarding' in svr_types: # checker_dict[vm_checker.zstack_kvm_vm_dnat_checker] = True #else: # checker_dict[vm_checker.zstack_kvm_vm_dnat_checker] = False if test_obj.get_creation_option().get_default_l3_uuid(): checker_dict[vm_checker.zstack_kvm_vm_default_l3_checker] = True elif test_obj.state == vm_header.STOPPED: checker_dict[db_checker.zstack_vm_db_checker] = True #stopped_checker is deprecated, since the stopped vm will be removed #from host. #checker_dict[vm_checker.zstack_kvm_vm_stopped_checker] = True elif test_obj.state == vm_header.DESTROYED: #VM destroy will cause vm structure be removed from DB, when VmExpungeInterval is set to 1, so doesn't need to check destroyed state sync in db in most case. checker_dict[db_checker.zstack_vm_db_checker] = False checker_dict[vm_checker.zstack_kvm_vm_destroyed_checker] = True kvm_vm_checker_chain.add_checker_dict(checker_dict, test_obj) return kvm_vm_checker_chain
def create_checker(self, test_obj): sim_image_checker_chain = checker_header.CheckerChain() checker_dict = {} if test_obj.state == image_header.CREATED: checker_dict[db_checker.zstack_image_db_checker] = True if test_obj.state == image_header.DELETED: #Image db will not deleted, as it might be used by some alive VMs. #checker_dict[db_checker.zstack_image_db_checker] = False pass sim_image_checker_chain.add_checker_dict(checker_dict, test_obj) test_util.test_logger('Add checker: %s for [image:] %s' % (sim_image_checker_chain, test_obj.image.uuid)) return sim_image_checker_chain
def create_checker(self, test_obj): sp_checker_chain = checker_header.CheckerChain() if test_obj.get_target_volume().get_volume(): #target volume is not deleted. sp_checker_chain.add_checker(\ sp_checker.zstack_kvm_snapshot_checker(), True, test_obj) sp_checker_chain.add_checker(\ sp_checker.zstack_kvm_snapshot_tree_checker(), True, \ test_obj) if test_obj.get_backuped_snapshots(): sp_checker_chain.add_checker(\ sp_checker.zstack_kvm_backuped_snapshot_checker(), \ True, test_obj) return sp_checker_chain
def create_checker(self, test_obj): kvm_image_checker_chain = checker_header.CheckerChain() checker_dict = {} if test_obj.state == image_header.CREATED: checker_dict[db_checker.zstack_image_db_checker] = True checker_dict[image_checker.zstack_kvm_image_file_checker] = True if test_obj.state == image_header.DELETED: #Image db will not deleted, as it might be used by some alive VMs. #checker_dict[db_checker.zstack_image_db_checker] = False checker_dict[image_checker.zstack_kvm_image_file_checker] = False kvm_image_checker_chain.add_checker_dict(checker_dict, test_obj) return kvm_image_checker_chain
def create_checker(self, test_obj): node_checker_chain = checker_header.CheckerChain() checker_dict = {} if test_obj.state == zstack_test_node.RUNNING: checker_dict[node_checker.NodeChecker] = True elif test_obj.state == zstack_test_node.STOPPED: checker_dict[node_checker.NodeChecker] = False node_checker_chain.add_checker_dict(checker_dict, test_obj) test_util.test_logger( 'Add checker: %s for [node:] %s' % (node_checker_chain, test_obj.get_node_option().get_name())) return node_checker_chain
def create_checker(self, test_obj): sp_checker_chain = checker_header.CheckerChain() if test_obj.get_target_volume().get_volume(): #target volume is not deleted. sp_checker_chain.add_checker(\ sp_checker.zstack_vcenter_snapshot_checker(), True, test_obj) ps_uuid = test_obj.get_target_volume().get_volume().primaryStorageUuid if test_lib.lib_is_ps_iscsi_backend(ps_uuid): sp_checker_chain.add_checker(\ sp_checker.zstack_vcenter_snapshot_tree_checker(), True, \ test_obj) if test_obj.get_backuped_snapshots(): sp_checker_chain.add_checker(\ sp_checker.zstack_vcenter_backuped_snapshot_checker(), \ True, test_obj) return sp_checker_chain
def create_checker(self, test_obj): sim_vm_checker_chain = checker_header.CheckerChain() checker_dict = {} if test_obj.state == vm_header.RUNNING: checker_dict[db_checker.zstack_vm_db_checker] = True elif test_obj.state == vm_header.STOPPED: checker_dict[db_checker.zstack_vm_db_checker] = True elif test_obj.state == vm_header.DESTROYED: checker_dict[db_checker.zstack_vm_db_checker] = True elif test_obj.state == vm_header.EXPUNGED: checker_dict[db_checker.zstack_vm_db_checker] = False sim_vm_checker_chain.add_checker_dict(checker_dict, test_obj) test_util.test_logger('Add checker: %s for [vm:] %s' % (sim_vm_checker_chain, test_obj.vm.uuid)) return sim_vm_checker_chain
def create_checker(self, test_obj): kvm_image_checker_chain = checker_header.CheckerChain() checker_dict = {} if test_obj.state == image_header.CREATED: checker_dict[db_checker.zstack_image_db_checker] = True checker_dict[image_checker.zstack_kvm_image_file_checker] = True if test_obj.state == image_header.DELETED: checker_dict[db_checker.zstack_image_db_checker] = True checker_dict[image_checker.zstack_kvm_image_file_checker] = True if test_obj.state == image_header.EXPUNGED: checker_dict[db_checker.zstack_image_db_checker] = False checker_dict[image_checker.zstack_kvm_image_file_checker] = False kvm_image_checker_chain.add_checker_dict(checker_dict, test_obj) return kvm_image_checker_chain
def create_checker(self, test_obj): vcenter_pf_checker_chain = checker_header.CheckerChain() checker_dict = {} pf_rule = test_obj.get_port_forwarding() if test_obj.get_state() == pf_header.ATTACHED and \ test_obj.get_target_vm().get_state() == vm_header.RUNNING: if pf_rule.protocolType == inventory.TCP: checker_dict[pf_checker.zstack_vcenter_pf_tcp_checker] = True if pf_rule.protocolType == inventory.UDP: checker_dict[pf_checker.zstack_vcenter_pf_rule_exist_checker] = True elif test_obj.get_state() == pf_header.ATTACHED and test_obj.get_target_vm().get_state() == vm_header.STOPPED: checker_dict[pf_checker.zstack_vcenter_pf_vip_icmp_checker] = False if pf_rule.protocolType == inventory.TCP: checker_dict[pf_checker.zstack_vcenter_pf_tcp_checker] = False elif test_obj.get_state() == pf_header.DETACHED: checker_dict[pf_checker.zstack_vcenter_pf_vip_icmp_checker] = False vcenter_pf_checker_chain.add_checker_dict(checker_dict, test_obj) return vcenter_pf_checker_chain
def create_checker(self, test_obj): host_checker_chain = checker_header.CheckerChain() checker = host_checker.zstack_kvm_host_checker() host_checker_chain.add_checker(checker, True, test_obj) return host_checker_chain
def create_checker(self, test_obj): eip_checker_chain = checker_header.CheckerChain() checker = eip_checker.eip_checker() eip_checker_chain.add_checker(checker, True, test_obj) return eip_checker_chain
def create_checker(self, test_obj): kvm_sg_checker_chain = checker_header.CheckerChain() checker_dict = {} for nic_uuid in test_obj.get_all_nics(): target_vm = test_obj.get_vm_by_nic(nic_uuid) if target_vm.state == vm_header.RUNNING: if test_lib.lib_is_vm_sim(target_vm.vm): kvm_sg_checker_chain.add_checker( db_checker.zstack_sg_db_checker(True), test_obj) continue if not test_lib.lib_is_vm_kvm(target_vm.vm): continue if test_obj.get_nic_tcp_ingress_rules(nic_uuid): checker = sg_checker.zstack_kvm_sg_tcp_ingress_exist_checker( ) checker.set_nic_uuid(nic_uuid) kvm_sg_checker_chain.add_checker(checker, True, test_obj) checker = sg_checker.zstack_kvm_sg_tcp_ingress_checker() checker.set_nic_uuid(nic_uuid) kvm_sg_checker_chain.add_checker(checker, True, test_obj) checker = sg_checker.zstack_kvm_sg_tcp_internal_vms_checker( ) checker.set_nic_uuid(nic_uuid) kvm_sg_checker_chain.add_checker(checker, True, test_obj) else: checker = sg_checker.zstack_kvm_sg_tcp_ingress_exist_checker( ) checker.set_nic_uuid(nic_uuid) kvm_sg_checker_chain.add_checker(checker, False, test_obj) if test_obj.get_nic_tcp_egress_rules(nic_uuid): checker = sg_checker.zstack_kvm_sg_tcp_egress_exist_checker( ) checker.set_nic_uuid(nic_uuid) kvm_sg_checker_chain.add_checker(checker, True, test_obj) checker = sg_checker.zstack_kvm_sg_tcp_egress_checker() checker.set_nic_uuid(nic_uuid) kvm_sg_checker_chain.add_checker(checker, True, test_obj) if not test_obj.get_nic_tcp_ingress_rules(nic_uuid): checker = sg_checker.zstack_kvm_sg_tcp_internal_vms_checker( ) checker.set_nic_uuid(nic_uuid) kvm_sg_checker_chain.add_checker( checker, True, test_obj) else: checker = sg_checker.zstack_kvm_sg_tcp_egress_exist_checker( ) checker.set_nic_uuid(nic_uuid) kvm_sg_checker_chain.add_checker(checker, False, test_obj) if test_obj.get_nic_udp_ingress_rules(nic_uuid): checker = sg_checker.zstack_kvm_sg_udp_ingress_checker() checker.set_nic_uuid(nic_uuid) kvm_sg_checker_chain.add_checker(checker, True, test_obj) else: checker = sg_checker.zstack_kvm_sg_udp_ingress_checker() checker.set_nic_uuid(nic_uuid) kvm_sg_checker_chain.add_checker(checker, False, test_obj) if test_obj.get_nic_udp_egress_rules(nic_uuid): checker = sg_checker.zstack_kvm_sg_udp_egress_checker() checker.set_nic_uuid(nic_uuid) kvm_sg_checker_chain.add_checker(checker, True, test_obj) else: checker = sg_checker.zstack_kvm_sg_udp_egress_checker() checker.set_nic_uuid(nic_uuid) kvm_sg_checker_chain.add_checker(checker, False, test_obj) if test_obj.get_nic_icmp_ingress_rules(nic_uuid): checker = sg_checker.zstack_kvm_sg_icmp_ingress_exist_checker( ) checker.set_nic_uuid(nic_uuid) kvm_sg_checker_chain.add_checker(checker, True, test_obj) checker = sg_checker.zstack_kvm_sg_icmp_ingress_checker() checker.set_nic_uuid(nic_uuid) kvm_sg_checker_chain.add_checker(checker, True, test_obj) checker = sg_checker.zstack_kvm_sg_icmp_internal_vms_checker( ) checker.set_nic_uuid(nic_uuid) kvm_sg_checker_chain.add_checker(checker, True, test_obj) else: checker = sg_checker.zstack_kvm_sg_icmp_ingress_exist_checker( ) checker.set_nic_uuid(nic_uuid) kvm_sg_checker_chain.add_checker(checker, False, test_obj) if test_obj.get_nic_icmp_egress_rules(nic_uuid): checker = sg_checker.zstack_kvm_sg_icmp_egress_exist_checker( ) checker.set_nic_uuid(nic_uuid) kvm_sg_checker_chain.add_checker(checker, True, test_obj) checker = sg_checker.zstack_kvm_sg_icmp_egress_checker() checker.set_nic_uuid(nic_uuid) kvm_sg_checker_chain.add_checker(checker, True, test_obj) #if not test_obj.get_nic_icmp_ingress_rules(nic_uuid): # checker = sg_checker.zstack_kvm_sg_icmp_internal_vms_checker() # checker.set_nic_uuid(nic_uuid) # kvm_sg_checker_chain.add_checker(checker, True, test_obj) else: checker = sg_checker.zstack_kvm_sg_icmp_egress_exist_checker( ) checker.set_nic_uuid(nic_uuid) kvm_sg_checker_chain.add_checker(checker, False, test_obj) else: #TODO: only do iptables rules check checker = sg_checker.zstack_kvm_sg_tcp_ingress_exist_checker() checker.set_nic_uuid(nic_uuid) kvm_sg_checker_chain.add_checker(checker, False, test_obj) checker = sg_checker.zstack_kvm_sg_tcp_egress_exist_checker() checker.set_nic_uuid(nic_uuid) kvm_sg_checker_chain.add_checker(checker, False, test_obj) checker = sg_checker.zstack_kvm_sg_icmp_egress_exist_checker() checker.set_nic_uuid(nic_uuid) kvm_sg_checker_chain.add_checker(checker, False, test_obj) checker = sg_checker.zstack_kvm_sg_icmp_ingress_exist_checker() checker.set_nic_uuid(nic_uuid) kvm_sg_checker_chain.add_checker(checker, False, test_obj) checker = sg_checker.zstack_kvm_sg_udp_ingress_checker() checker.set_nic_uuid(nic_uuid) kvm_sg_checker_chain.add_checker(checker, False, test_obj) checker = sg_checker.zstack_kvm_sg_udp_egress_checker() checker.set_nic_uuid(nic_uuid) kvm_sg_checker_chain.add_checker(checker, False, test_obj) for test_vm in test_obj.get_detached_vm(): vm = test_vm.vm if not test_lib.lib_is_vm_kvm(vm): continue checker = sg_checker.zstack_kvm_sg_tcp_ingress_exist_checker() checker.set_vm(vm) kvm_sg_checker_chain.add_checker(checker, False, test_obj) checker = sg_checker.zstack_kvm_sg_tcp_egress_exist_checker() checker.set_vm(vm) kvm_sg_checker_chain.add_checker(checker, False, test_obj) checker = sg_checker.zstack_kvm_sg_icmp_egress_exist_checker() checker.set_vm(vm) kvm_sg_checker_chain.add_checker(checker, False, test_obj) checker = sg_checker.zstack_kvm_sg_icmp_ingress_exist_checker() checker.set_vm(vm) kvm_sg_checker_chain.add_checker(checker, False, test_obj) checker = sg_checker.zstack_kvm_sg_udp_ingress_checker() checker.set_vm(vm) kvm_sg_checker_chain.add_checker(checker, False, test_obj) checker = sg_checker.zstack_kvm_sg_udp_egress_checker() checker.set_vm(vm) kvm_sg_checker_chain.add_checker(checker, False, test_obj) return kvm_sg_checker_chain