def build_nic_template(args): """ Build and print a Triple-O nic template from jinja template Args: - template: string path to jinja template to load - enabled_networks: comma delimited list list of networks defined in net_env.py - ext_net_type: string interface or br-ex, defines the external network configuration - address_family: string 4 or 6, respective to ipv4 or ipv6 - ovs_dpdk_bridge: string bridge name to use as ovs_dpdk """ template_dir, template = args.template.rsplit('/', 1) netsets = NetworkSettings(args.net_settings_file) env = Environment(loader=FileSystemLoader(template_dir), autoescape=True) template = env.get_template(template) print( template.render(nets=netsets['networks'], role=args.role, external_net_af=netsets.get_ip_addr_family(), external_net_type=args.ext_net_type, ovs_dpdk_bridge=args.ovs_dpdk_bridge))
def build_nic_template(args): """ Build and print a Triple-O nic template from jinja template Args: - template: string path to jinja template to load - enabled_networks: comma delimited list list of networks defined in net_env.py - ext_net_type: string interface or br-ex, defines the external network configuration - address_family: string 4 or 6, respective to ipv4 or ipv6 - ovs_dpdk_bridge: string bridge name to use as ovs_dpdk """ template_dir, template = args.template.rsplit('/', 1) netsets = NetworkSettings(args.net_settings_file) nets = netsets.get('networks') ds = DeploySettings(args.deploy_settings_file).get('deploy_options') env = Environment(loader=FileSystemLoader(template_dir), autoescape=True) template = env.get_template(template) if ds['dataplane'] == 'fdio': nets['tenant']['nic_mapping'][args.role]['phys_type'] = 'vpp_interface' nets['external'][0]['nic_mapping'][args.role]['phys_type'] =\ 'vpp_interface' if ds.get('performance', {}).get(args.role.title(), {}).get('vpp', {})\ .get('uio-driver'): nets['tenant']['nic_mapping'][args.role]['uio-driver'] =\ ds['performance'][args.role.title()]['vpp']['uio-driver'] nets['external'][0]['nic_mapping'][args.role]['uio-driver'] =\ ds['performance'][args.role.title()]['vpp']['uio-driver'] if ds.get('performance', {}).get(args.role.title(), {}).get('vpp', {})\ .get('interface-options'): nets['tenant']['nic_mapping'][args.role]['interface-options'] =\ ds['performance'][args.role.title()]['vpp']['interface-options'] print( template.render(nets=nets, role=args.role, external_net_af=netsets.get_ip_addr_family(), external_net_type=args.ext_net_type, ovs_dpdk_bridge=args.ovs_dpdk_bridge))