def test_lb_algorithm_match(self): set_update_count() ns_config = get_ns_conf_dict(setup.get('config_file_name'))[0] netscaler_conv(config_file_name=setup.get('config_file_name'), tenant=file_attribute['tenant'], output_file_path=setup.get('output_file_path'), controller_version=setup.get('controller_version_v17')) with open('./output/ns-Output.json', 'r') as file_strem: avi_config = json.load(file_strem) lb_vs_conf = ns_config.get('add lb vserver', {}) for vs_name in lb_vs_conf.keys(): pg_name = '%s-poolgroup' % vs_name pg_obj = [pg for pg in avi_config['PoolGroup'] if pg['name'] == pg_name] if not pg_obj: continue pg_obj = pg_obj[0] ns_util = NsUtil() ns_algo = lb_vs_conf[vs_name].get( 'lbMethod', 'LEASTCONNECTIONS') algo = ns_util.get_avi_lb_algorithm(ns_algo) for member in pg_obj['members']: pool_name = ns_util.get_name(member['pool_ref']) pool = [pool for pool in avi_config['Pool'] if pool['name'] == pool_name][0] assert pool['lb_algorithm'] == algo
import os import re import logging import avi.migrationtools.netscaler_converter.ns_constants as ns_constants import math from avi.migrationtools.netscaler_converter.ns_constants \ import (STATUS_EXTERNAL_MONITOR, STATUS_MISSING_FILE) from avi.migrationtools.netscaler_converter.ns_util import NsUtil from pkg_resources import parse_version from avi.migrationtools.avi_migration_utils import update_count LOG = logging.getLogger(__name__) # Creating f5 object for util library. ns_util = NsUtil() # Define Dict of merge_object_mapping to update the merged monitor, profile # name of ssl_profile, application_profile, network_profile etc merge_object_mapping = { 'ssl_profile': { 'no': 0 }, 'app_profile': { 'no': 0 }, 'network_profile': { 'no': 0 }, 'app_persist_profile': { 'no': 0 }, 'pki_profile': { 'no': 0