예제 #1
0
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))
예제 #2
0
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))