def refresh_san_managers(*sanmanager_obj): FusionUIBase.navigate_to_section(SectionType.SAN_MANAGERS) if isinstance(sanmanager_obj, test_data.DataObj): sanmanager_obj = [sanmanager_obj] elif isinstance(sanmanager_obj, tuple): sanmanager_obj = list(sanmanager_obj) count = 0 for n, sanmanager in enumerate(sanmanager_obj): logger.info("{2} No: {0} --- Total: {1} {2}".format( (n + 1), len(sanmanager_obj), '-' * 14)) name = sanmanager.sanip logger.info("Refreshing a san manager with name '{0}'".format(name)) if not select_san_manager(name): count += 1 continue RefreshSANMangers.select_action_refresh() FusionUIBase.show_activity_sidebar() FusionUIBase.wait_activity_action_ok(name, "Refresh SAN manager", timeout=30) FusionUIBase.show_activity_sidebar() CommonOperationSANMangers.wait_san_manager_status_ok(name) logger.info("Refresh san manager {0} successfully".format(name)) if count > 0: logger.warn( "Failure: Not able to refresh some of san managers, please check warning messages." ) return False return True
def remove_san_manager(name, fail_if_false=True): select_san_manager(name) RemoveSANMangers.select_action_remove() RemoveSANMangers.wait_remove_san_manager_dialog_shown() RemoveSANMangers.click_yes_remove() RemoveSANMangers.wait_remove_san_manager_dialog_disappear() FusionUIBase.show_activity_sidebar() FusionUIBase.wait_activity_action_ok(name, "Remove SAN manager", timeout=50) FusionUIBase.show_activity_sidebar() if CommonOperationSANMangers.wait_san_manager_show_not_found( name, timeout=15, fail_if_false=False): logger.info( "SAN manager status appear as 'not found', remove san manager {0} successfully." .format(name)) return True elif CommonOperationSANMangers.verify_san_manager_not_exist( name, timeout=5, fail_if_false=False): logger.info("Remove SAN manager {0} successfully".format(name)) return True else: if fail_if_false is True: ui_lib.fail_test("The SAN manager does not disappear in 20s!") else: logger.warn("The SAN manager does not disappear in 20s!")
def edit_san_managers(*sanmanager_obj): """ Edit san managers """ FusionUIBase.navigate_to_section(SectionType.SAN_MANAGERS) if isinstance(sanmanager_obj, test_data.DataObj): sanmanager_obj = [sanmanager_obj] elif isinstance(sanmanager_obj, tuple): sanmanager_obj = list(sanmanager_obj) count = 0 for n, sanmanager in enumerate(sanmanager_obj): logger.info("{2} No: {0} --- Total: {1} {2}".format( (n + 1), len(sanmanager_obj), '-' * 14)) logger.info("Editing a san manager with name '{0}'".format( sanmanager.sanip)) if not select_san_manager(sanmanager.sanip): count += 1 continue EditSANMangers.select_action_edit() EditSANMangers.wait_edit_san_manager_dialog_shown() if getattr(sanmanager, 'newsanip', '') != '': name = sanmanager.newsanip EditSANMangers.input_ip_address_or_host_name(sanmanager.newsanip) else: name = sanmanager.sanip if getattr(sanmanager, 'port', '') != '': EditSANMangers.input_port(sanmanager.port) if getattr(sanmanager, 'sanmanagerssl', '') != '': if sanmanager.sanmanagerssl.lower() == 'true': EditSANMangers.tick_use_ssl() else: EditSANMangers.untick_use_ssl() if getattr(sanmanager, 'username', '') != '': EditSANMangers.input_user_name(sanmanager.username) if getattr(sanmanager, 'password', '') != '': EditSANMangers.input_password(sanmanager.password) EditSANMangers.click_ok_button() status, msg = FusionUIBase.get_error_message_from_dialog(timeout=5) if status is True: ui_lib.fail_test(msg) EditSANMangers.wait_edit_san_manager_dialog_disappear(timeout=10) FusionUIBase.show_activity_sidebar() FusionUIBase.wait_activity_action_ok(sanmanager.sanip, "Update SAN manager", timeout=30) FusionUIBase.show_activity_sidebar() CommonOperationSANMangers.wait_san_manager_status_ok(name) logger.info("Edit san manager {0} successfully".format( sanmanager.sanip)) if count > 0: logger.warn( "Not able to edit some of SAN managers, please check warning messages!" ) return False return True
def select_san_manager(name): """ Select san manager """ logger.info("Selecting a SAN manager with name {0}".format(name)) if CommonOperationSANMangers.verify_san_manager_exist(name, fail_if_false=False): CommonOperationSANMangers.click_san_manager(name) CommonOperationSANMangers.wait_san_manager_selected(name) return True else: logger.warn("SAN manager '{0}' does not exist".format(name)) return False
def remove_all_san_managers(): logger.info("Function call to remove SAN managers") FusionUIBase.navigate_to_section(SectionType.SAN_MANAGERS) san_list = CommonOperationSANMangers.get_san_manager_list() san_obj_list = [] for san_name in san_list: logger.info("Deleting SAN manager %s" % san_name) san_obj = test_data.DataObj() san_obj.add_property('name', san_name) san_obj_list.append(san_obj) return remove_san_managers(*san_obj_list)
def add_san_managers(version, *sanmanager_obj): """ add_san_manager function to add san manager to the appliance Example: | Add San Managers | @{sanmanager_obj} | """ FusionUIBase.navigate_to_section(SectionType.SAN_MANAGERS) if isinstance(sanmanager_obj, test_data.DataObj): sanmanager_obj = [sanmanager_obj] elif isinstance(sanmanager_obj, tuple): sanmanager_obj = list(sanmanager_obj) count = 0 new_sanmanager_obj = [] logger.info("{0} PREPARATION {0}".format('-' * 17)) for n, sanmanager in enumerate(sanmanager_obj): name = sanmanager.sanip if getattr(sanmanager, 'remove_if_exists', 'true').lower() == 'true': remove_if_exists = True else: remove_if_exists = False if not CommonOperationSANMangers.verify_san_manager_not_exist( name, fail_if_false=False): logger.warn("SAN manager '{0}' already exists".format(name)) if remove_if_exists is True: logger.info( "Removing the SAN manager since 'remove_if_exists' is set to 'True'" ) if not remove_san_manager(name, fail_if_false=False): count += 1 else: new_sanmanager_obj.append(sanmanager) else: logger.warn( "Error: Would not be able to create the existing san manager '%s'." % name) count += 1 else: new_sanmanager_obj.append(sanmanager) for n, sanmanager in enumerate(new_sanmanager_obj): logger.info("{2} No: {0} --- Total: {1} {2}".format( (n + 1), len(sanmanager_obj), '-' * 14)) name = sanmanager.sanip logger.info("Adding a san manager with name '{0}'".format(name)) if n == 0: FusionUIBase.show_activity_sidebar() AddSANMangers.click_add_san_manager_button() AddSANMangers.wait_add_san_manager_dialog_shown() AddSANMangers.select_san_manager_type(sanmanager.type) if sanmanager.type.lower().replace( ' ', '') == "Brocade Network Advisor".lower().replace(' ', ''): AddSANMangers.input_ip_address_or_host_name(name, appversion=version) if getattr(sanmanager, 'port', '') != '': AddSANMangers.input_port(sanmanager.port) if sanmanager.sanmanagerssl.lower() == 'true': AddSANMangers.tick_use_ssl(appversion=version) else: AddSANMangers.untick_use_ssl(appversion=version) if getattr(sanmanager, 'username', '') != '': AddSANMangers.input_user_name(sanmanager.username, appversion=version) AddSANMangers.input_password(sanmanager.password, appversion=version) elif sanmanager.type.lower() == "cisco": AddSANMangers.input_ip_address_or_host_name_cisco(name) if getattr(sanmanager, 'snmpport', '') != '': AddSANMangers.input_snmp_port(sanmanager.snmpport) AddSANMangers.input_snmp_user_name(sanmanager.username) if getattr(sanmanager, 'securitylevel', '') != '': AddSANMangers.choose_security_level(sanmanager.securitylevel, sanmanager.type) if getattr(sanmanager, 'authprotocol', '') != '': AddSANMangers.select_authentication_protocol( sanmanager.authprotocol) AddSANMangers.input_authentication_password( sanmanager.authpassword) elif sanmanager.type.lower() == "hpe": AddSANMangers.input_ip_address_or_host_name_hpe(name) if getattr(sanmanager, 'snmpport', '') != '': AddSANMangers.input_snmp_port(sanmanager.snmpport) AddSANMangers.input_snmp_user_name(sanmanager.username) if getattr(sanmanager, 'securitylevel', '') != '': AddSANMangers.choose_security_level(sanmanager.securitylevel, sanmanager.type) if getattr(sanmanager, 'authenticationprotocol', '') != '': AddSANMangers.select_authentication_protocol( sanmanager.authenticationprotocol) if getattr(sanmanager, 'authenticationpassword', '') != '': AddSANMangers.input_authentication_password( sanmanager.authenticationpassword) if getattr(sanmanager, 'privacypassword', '') != '': AddSANMangers.input_privacy_password( sanmanager.privacypassword) else: ui_lib.fail_test( "unsupported san_manager type '%s', please specify 'Brocade Network Advisor', 'Cisco' or 'HPE'" % sanmanager.type) if n == (len(new_sanmanager_obj) - 1): AddSANMangers.click_add_button() else: AddSANMangers.click_add_plus_button() status, msg = FusionUIBase.get_error_message_from_dialog(timeout=5) if status is True: ui_lib.fail_test(msg) FusionUIBase.wait_activity_action_ok(name, message="Add SAN manager", timeout=30) AddSANMangers.wait_add_san_manager_dialog_disappear(timeout=5) FusionUIBase.show_activity_sidebar() logger.info("{0} VERIFICATION {0}".format('-' * 17)) for n, sanmanager in enumerate(new_sanmanager_obj): name = sanmanager.sanip CommonOperationSANMangers.wait_san_manager_status_ok(name) logger.info("Add san manager {0} successfully".format(name)) if count > 0: logger.warn( "Failure: Not able to add some of san managers, please check all warning messages" ) return False return True