diff options
-rw-r--r-- | build/nics-compute.yaml.jinja2 | 19 | ||||
-rw-r--r-- | build/opnfv-apex-common.spec | 6 | ||||
-rw-r--r-- | ci/PR_revision.log | 1 | ||||
-rwxr-xr-x | ci/build.sh | 4 | ||||
-rwxr-xr-x | ci/deploy.sh | 27 | ||||
-rw-r--r-- | config/deploy/os-odl_l2-fdio-ha.yaml | 12 | ||||
-rw-r--r-- | config/deploy/os-odl_l2-fdio-noha.yaml | 12 | ||||
-rwxr-xr-x | lib/python/apex-python-utils.py | 12 | ||||
-rw-r--r-- | lib/python/apex/deploy_env.py | 3 | ||||
-rw-r--r-- | lib/python/apex/network_settings.py | 5 |
10 files changed, 94 insertions, 7 deletions
diff --git a/build/nics-compute.yaml.jinja2 b/build/nics-compute.yaml.jinja2 index 3a73bbd8..1bc2b50a 100644 --- a/build/nics-compute.yaml.jinja2 +++ b/build/nics-compute.yaml.jinja2 @@ -105,6 +105,24 @@ resources: next_hop: {get_param: ControlPlaneDefaultRoute} {%- set nic_index = 2 %} {%- if 'private_network' in enabled_networks %} + {%- if ovs_dpdk_bridge == 'br-phy' %} + - + type: interface + name: nic{{ nic_index }}{% set nic_index = nic_index + 1 %} + use_dhcp: false + + - + type: ovs_bridge + name: {{ ovs_dpdk_bridge }} + use_dhcp: false + addresses: + - + ip_netmask: {get_param: TenantIpSubnet} + - + type: ovs_bridge + name: br-tun + use_dhcp: false + {%- else %} - type: interface name: nic{{ nic_index }}{% set nic_index = nic_index + 1 %} @@ -113,6 +131,7 @@ resources: - ip_netmask: {get_param: TenantIpSubnet} {%- endif %} + {%- endif %} {%- if external_net_type == "interface" %} - type: interface diff --git a/build/opnfv-apex-common.spec b/build/opnfv-apex-common.spec index 958cb14a..d5532411 100644 --- a/build/opnfv-apex-common.spec +++ b/build/opnfv-apex-common.spec @@ -41,6 +41,8 @@ install config/deploy/os-nosdn-performance-ha.yaml %{buildroot}%{_sysconfdir}/op install config/deploy/os-nosdn-ovs-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-nosdn-ovs-ha.yaml install config/deploy/os-odl_l2-nofeature-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl_l2-nofeature-ha.yaml install config/deploy/os-odl_l2-sfc-noha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl_l2-sfc-noha.yaml +install config/deploy/os-odl_l2-fdio-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl_l2-fdio-ha.yaml +install config/deploy/os-odl_l2-fdio-noha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl_l2-fdio-noha.yaml install config/deploy/os-odl_l3-nofeature-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl_l3-nofeature-ha.yaml install config/deploy/os-onos-nofeature-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-onos-nofeature-ha.yaml install config/deploy/os-ocl-nofeature-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-ocl-nofeature-ha.yaml @@ -94,6 +96,8 @@ install config/inventory/pod_example_settings.yaml %{buildroot}%{_docdir}/opnfv/ %{_sysconfdir}/opnfv-apex/os-nosdn-ovs-ha.yaml %{_sysconfdir}/opnfv-apex/os-odl_l2-nofeature-ha.yaml %{_sysconfdir}/opnfv-apex/os-odl_l2-sfc-noha.yaml +%{_sysconfdir}/opnfv-apex/os-odl_l2-fdio-noha.yaml +%{_sysconfdir}/opnfv-apex/os-odl_l2-fdio-ha.yaml %{_sysconfdir}/opnfv-apex/os-odl_l3-nofeature-ha.yaml %{_sysconfdir}/opnfv-apex/os-onos-nofeature-ha.yaml %{_sysconfdir}/opnfv-apex/os-ocl-nofeature-ha.yaml @@ -109,6 +113,8 @@ install config/inventory/pod_example_settings.yaml %{buildroot}%{_docdir}/opnfv/ %doc %{_docdir}/opnfv/inventory.yaml.example %changelog +* Thu Jun 15 2016 Tim Rozet <trozet@redhat.com> - 3.0-9 +- Add fdio scenarios. * Tue Jun 14 2016 Feng Pan <fpan@redhat.com> - 3.0-8 - Add network_settings_v6.yaml * Thu Jun 2 2016 Michael Chapman <michapma@redhat.com> - 3.0-7 diff --git a/ci/PR_revision.log b/ci/PR_revision.log index ea30648a..2dcbe81c 100644 --- a/ci/PR_revision.log +++ b/ci/PR_revision.log @@ -8,3 +8,4 @@ 23,Fix odl env files 25,Force metadata on all scenarios 26,Fixes ODL ML2 IP +30,Adds OVS DPDK config diff --git a/ci/build.sh b/ci/build.sh index dd9f9fd1..fd079c91 100755 --- a/ci/build.sh +++ b/ci/build.sh @@ -113,7 +113,9 @@ fi # Conditionally execute RPM build checks if the specs change and target is not rpm or iso if [[ "$MAKE_TARGETS" == "images" ]]; then commit_file_list=$(git show --pretty="format:" --name-only) - if [[ $commit_file_list == *build/Makefile* ]]; then + if git show -s | grep "force-build-rpms"; then + MAKE_TARGETS+=" rpms" + elif [[ $commit_file_list == *build/Makefile* ]]; then # Makefile forces all rpms to be checked MAKE_TARGETS+=" rpms-check" else diff --git a/ci/deploy.sh b/ci/deploy.sh index a004dd36..6a5495c4 100755 --- a/ci/deploy.sh +++ b/ci/deploy.sh @@ -143,6 +143,17 @@ parse_deploy_settings() { echo -e "${red}ERROR: Failed to parse deploy settings file $DEPLOY_SETTINGS_FILE ${reset}" exit 1 fi + + if [ "${deploy_options_array['dataplane']}" == 'ovs_dpdk' ]; then + if [ "$net_isolation_enabled" == "FALSE" ]; then + echo -e "${red}ERROR: flat network is not supported with ovs-dpdk ${reset}" + exit 1 + fi + if [[ ! $enabled_network_list =~ "private_network" ]]; then + echo -e "${red}ERROR: tenant network is not enabled for ovs-dpdk ${reset}" + exit 1 + fi + fi } ##parses baremetal yaml settings into compatible json @@ -648,12 +659,18 @@ function configure_undercloud { ext_net_type=br-ex fi + if [ "${deploy_options_array['dataplane']}" == 'ovs_dpdk' ]; then + ovs_dpdk_bridge='br-phy' + else + ovs_dpdk_bridge='' + fi + if ! controller_nic_template=$(python3.4 -B $LIB/python/apex-python-utils.py nic-template -t $CONFIG/nics-controller.yaml.jinja2 -n "$enabled_network_list" -e $ext_net_type -af $ip_addr_family); then echo -e "${red}ERROR: Failed to generate controller NIC heat template ${reset}" exit 1 fi - if ! compute_nic_template=$(python3.4 -B $LIB/python/apex-python-utils.py nic-template -t $CONFIG/nics-compute.yaml.jinja2 -n "$enabled_network_list" -e $ext_net_type -af $ip_addr_family); then + if ! compute_nic_template=$(python3.4 -B $LIB/python/apex-python-utils.py nic-template -t $CONFIG/nics-compute.yaml.jinja2 -n "$enabled_network_list" -e $ext_net_type -af $ip_addr_family -d "$ovs_dpdk_bridge"); then echo -e "${red}ERROR: Failed to generate compute NIC heat template ${reset}" exit 1 fi @@ -774,6 +791,8 @@ function undercloud_prep_overcloud_deploy { DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/opendaylight_sfc.yaml" elif [ "${deploy_options_array['vpn']}" == 'True' ]; then DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/opendaylight_sdnvpn.yaml" + elif [ "${deploy_options_array['vpp']}" == 'True' ]; then + DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/opendaylight_fdio.yaml" else DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/opendaylight.yaml" fi @@ -975,7 +994,11 @@ openstack flavor set --property "cpu_arch"="x86_64" --property "capabilities:boo openstack flavor set --property "cpu_arch"="x86_64" --property "capabilities:boot_option"="local" --property "capabilities:profile"="control" control openstack flavor set --property "cpu_arch"="x86_64" --property "capabilities:boot_option"="local" --property "capabilities:profile"="compute" compute echo "Configuring nameserver on ctlplane network" -neutron subnet-update \$(neutron subnet-list | grep -v id | grep -v \\\\-\\\\- | awk {'print \$2'}) --dns-nameserver 8.8.8.8 +dns_server_ext='' +for dns_server in ${dns_servers}; do + dns_server_ext="\${dns_server_ext} --dns-nameserver \${dns_server}" +done +neutron subnet-update \$(neutron subnet-list | grep -Ev "id|tenant|external|storage" | grep -v \\\\-\\\\- | awk {'print \$2'}) \${dns_server_ext} echo "Executing overcloud deployment, this should run for an extended period without output." sleep 60 #wait for Hypervisor stats to check-in to nova # save deploy command so it can be used for debugging diff --git a/config/deploy/os-odl_l2-fdio-ha.yaml b/config/deploy/os-odl_l2-fdio-ha.yaml new file mode 100644 index 00000000..b258c653 --- /dev/null +++ b/config/deploy/os-odl_l2-fdio-ha.yaml @@ -0,0 +1,12 @@ +global_params: + ha_enabled: true + +deploy_options: + sdn_controller: opendaylight + sdn_l3: false + odl_version: boron + tacker: false + congress: false + sfc: false + vpn: false + vpp: true diff --git a/config/deploy/os-odl_l2-fdio-noha.yaml b/config/deploy/os-odl_l2-fdio-noha.yaml new file mode 100644 index 00000000..52e312e3 --- /dev/null +++ b/config/deploy/os-odl_l2-fdio-noha.yaml @@ -0,0 +1,12 @@ +global_params: + ha_enabled: false + +deploy_options: + sdn_controller: opendaylight + sdn_l3: false + odl_version: boron + tacker: false + congress: false + sfc: false + vpn: false + vpp: true diff --git a/lib/python/apex-python-utils.py b/lib/python/apex-python-utils.py index 6c76cb13..c9dcaa55 100755 --- a/lib/python/apex-python-utils.py +++ b/lib/python/apex-python-utils.py @@ -79,14 +79,17 @@ def build_nic_template(args): 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 """ - dir, template = args.template.rsplit('/', 1) + template_dir, template = args.template.rsplit('/', 1) - env = Environment(loader=FileSystemLoader(dir)) + env = Environment(loader=FileSystemLoader(template_dir)) template = env.get_template(template) print(template.render(enabled_networks=args.enabled_networks, external_net_type=args.ext_net_type, - external_net_af=args.address_family)) + external_net_af=args.address_family, + ovs_dpdk_bridge=args.ovs_dpdk_bridge)) def parse_args(): @@ -135,6 +138,9 @@ def parse_args(): help='External network type') nic_template.add_argument('-af', '--address-family', type=int, default=4, dest='address_family', help='IP address family') + nic_template.add_argument('-d', '--ovs-dpdk-bridge', + default=None, dest='ovs_dpdk_bridge', + help='OVS DPDK Bridge Name') nic_template.set_defaults(func=build_nic_template) deploy_settings = subparsers.add_parser('parse-deploy-settings', diff --git a/lib/python/apex/deploy_env.py b/lib/python/apex/deploy_env.py index fb03cd07..4c71b54f 100644 --- a/lib/python/apex/deploy_env.py +++ b/lib/python/apex/deploy_env.py @@ -18,7 +18,8 @@ REQ_DEPLOY_SETTINGS = ['sdn_controller', 'congress', 'dataplane', 'sfc', - 'vpn'] + 'vpn', + 'vpp'] OPT_DEPLOY_SETTINGS = ['performance'] diff --git a/lib/python/apex/network_settings.py b/lib/python/apex/network_settings.py index 1ddf4620..9df8a1de 100644 --- a/lib/python/apex/network_settings.py +++ b/lib/python/apex/network_settings.py @@ -223,6 +223,11 @@ class NetworkSettings: bash_str += "enabled_network_list='{}'\n" \ .format(' '.join(self.enabled_network_list)) bash_str += "ip_addr_family={}\n".format(self.get_ip_addr_family()) + dns_list = "" + for dns_server in self.settings_obj['dns_servers']: + dns_list = dns_list + "{} ".format(dns_server) + dns_list = dns_list.strip() + bash_str += "dns_servers=\'{}\'\n".format(dns_list) if path: with open(path, 'w') as file: file.write(bash_str) |