From 849d51833bdb16e8f04370270cd3e082ad9db928 Mon Sep 17 00:00:00 2001 From: Harry Huang Date: Wed, 11 Oct 2017 18:11:52 +0800 Subject: Config dpdk and ovs switch dpdk interface driver and bring up corresponding ovs bridges. Change-Id: I07bd9b332978482507711cfbd8ad29802a8b1a8c Signed-off-by: Harry Huang --- .../ansible/openstack/HA-ansible-multinodes.yml | 7 ++ .../ansible/roles/post-osa/tasks/Ubuntu.yml | 23 ++++ .../adapters/ansible/roles/post-osa/tasks/main.yml | 20 ++-- .../roles/setup-openvswitch/tasks/compute.yml | 16 --- .../huawei-pod1/network_dpdk.yml | 132 +++++++++++++++++++++ .../huawei-pod1/os-nosdn-ovs_dpdk-ha.yml | 1 + .../huawei-pod2/network_dpdk.yml | 132 +++++++++++++++++++++ .../huawei-pod2/os-nosdn-ovs_dpdk-ha.yml | 5 + .../config-dpdk/files/openvswitch-switch.service | 17 +++ plugins/dpdk/roles/config-dpdk/handlers/main.yml | 28 +++++ plugins/dpdk/roles/config-dpdk/tasks/compute.yml | 82 +++++++++++++ .../dpdk/roles/config-dpdk/tasks/config-dpdk.yml | 16 +++ plugins/dpdk/roles/config-dpdk/tasks/main.yml | 11 ++ .../dpdk/roles/config-dpdk/tasks/neutron_agent.yml | 15 +++ plugins/dpdk/roles/config-dpdk/vars/Ubuntu.yml | 14 +++ plugins/dpdk/roles/config-dpdk/vars/main.yml | 10 ++ plugins/dpdk/roles/ins_dpdk/vars/main.yml | 2 +- plugins/dpdk/roles/ins_ovs/tasks/ovs.yml | 12 +- .../ins_ovs/templates/start_ovs_vswitchd.sh.j2 | 4 + .../ins_ovs/templates/start_ovsdb_server.sh.j2 | 4 - 20 files changed, 511 insertions(+), 40 deletions(-) create mode 100755 deploy/adapters/ansible/roles/post-osa/tasks/Ubuntu.yml create mode 100644 deploy/conf/hardware_environment/huawei-pod1/network_dpdk.yml create mode 100644 deploy/conf/hardware_environment/huawei-pod2/network_dpdk.yml create mode 100644 plugins/dpdk/roles/config-dpdk/files/openvswitch-switch.service create mode 100644 plugins/dpdk/roles/config-dpdk/handlers/main.yml create mode 100644 plugins/dpdk/roles/config-dpdk/tasks/compute.yml create mode 100644 plugins/dpdk/roles/config-dpdk/tasks/config-dpdk.yml create mode 100644 plugins/dpdk/roles/config-dpdk/tasks/main.yml create mode 100644 plugins/dpdk/roles/config-dpdk/tasks/neutron_agent.yml create mode 100644 plugins/dpdk/roles/config-dpdk/vars/Ubuntu.yml create mode 100644 plugins/dpdk/roles/config-dpdk/vars/main.yml delete mode 100644 plugins/dpdk/roles/ins_ovs/templates/start_ovsdb_server.sh.j2 diff --git a/deploy/adapters/ansible/openstack/HA-ansible-multinodes.yml b/deploy/adapters/ansible/openstack/HA-ansible-multinodes.yml index 3f58435e..59826776 100644 --- a/deploy/adapters/ansible/openstack/HA-ansible-multinodes.yml +++ b/deploy/adapters/ansible/openstack/HA-ansible-multinodes.yml @@ -46,6 +46,13 @@ roles: - post-osa +- hosts: + - neutron_openvswitch_agent + - compute + remote_user: root + roles: + - config-dpdk + - hosts: neutron_openvswitch_agent remote_user: root roles: diff --git a/deploy/adapters/ansible/roles/post-osa/tasks/Ubuntu.yml b/deploy/adapters/ansible/roles/post-osa/tasks/Ubuntu.yml new file mode 100755 index 00000000..5d53d234 --- /dev/null +++ b/deploy/adapters/ansible/roles/post-osa/tasks/Ubuntu.yml @@ -0,0 +1,23 @@ +--- +- name: remove bridge ubuntu + template: + src: compute.j2 + dest: /etc/network/interfaces + notify: + - restart network service + +- name: fix mapping in compute + shell: | + {% set compute_mappings = [] %} + {% for key, value in compu_prv_mappings.iteritems() %} + {% set mapping = key + ":" + value["bridge"] %} + {% set _ = compute_mappings.append(mapping) %} + {% endfor %} + {% if compute_mappings | length != 0 %} + sed -i "s/^\(bridge_mappings\).*/\1 = {{ ','.join(compute_mappings) }}/g" \ + /etc/neutron/plugins/ml2/openvswitch_agent.ini + {% else %} + sed -i "/bridge_mappings/d" /etc/neutron/plugins/ml2/openvswitch_agent.ini + {% endif %} + +- meta: flush_handlers diff --git a/deploy/adapters/ansible/roles/post-osa/tasks/main.yml b/deploy/adapters/ansible/roles/post-osa/tasks/main.yml index cf157d74..c48a5d1a 100644 --- a/deploy/adapters/ansible/roles/post-osa/tasks/main.yml +++ b/deploy/adapters/ansible/roles/post-osa/tasks/main.yml @@ -1,12 +1,10 @@ +############################################################################# +# Copyright (c) 2017 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## --- -- name: remove bridge ubuntu - template: - src: compute.j2 - dest: /etc/network/interfaces - notify: - - restart network service - when: ansible_distribution == 'Ubuntu' - -# TODO -# - name: remove bridge centos -# when: ansible_distribution == 'CentOS' +- include: "{{ ansible_distribution }}.yml" diff --git a/deploy/adapters/ansible/roles/setup-openvswitch/tasks/compute.yml b/deploy/adapters/ansible/roles/setup-openvswitch/tasks/compute.yml index 62edd34b..b7a8fbcb 100644 --- a/deploy/adapters/ansible/roles/setup-openvswitch/tasks/compute.yml +++ b/deploy/adapters/ansible/roles/setup-openvswitch/tasks/compute.yml @@ -22,22 +22,6 @@ notify: - restart neutron-openvswitch-agent -- name: fix mapping in compute - shell: | - {% set compute_mappings = [] %} - {% for key, value in compu_prv_mappings.iteritems() %} - {% set mapping = key + ":" + value["bridge"] %} - {% set _ = compute_mappings.append(mapping) %} - {% endfor %} - {% if compute_mappings | length != 0 %} - sed -i "s/^\(bridge_mappings\).*/\1 = {{ ','.join(compute_mappings) }}/g" \ - /etc/neutron/plugins/ml2/openvswitch_agent.ini - {% else %} - sed -i "/bridge_mappings/d" /etc/neutron/plugins/ml2/openvswitch_agent.ini - {% endif %} - notify: - - restart neutron-openvswitch-agent - - name: create compute bridges openvswitch_bridge: bridge: "{{ item['name'] }}" diff --git a/deploy/conf/hardware_environment/huawei-pod1/network_dpdk.yml b/deploy/conf/hardware_environment/huawei-pod1/network_dpdk.yml new file mode 100644 index 00000000..03483629 --- /dev/null +++ b/deploy/conf/hardware_environment/huawei-pod1/network_dpdk.yml @@ -0,0 +1,132 @@ +############################################################################## +# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +--- +nic_mappings: [] +bond_mappings: [] + +provider_net_mappings: + - name: br-provider + network: physnet + interface: eth10 + type: ovs + role: + - controller + +sys_intf_mappings: + - name: mgmt + interface: eth0 + type: normal + vlan_tag: None + role: + - controller + - compute + + - name: tenant + interface: eth2 + type: normal + vlan_tag: None + role: + - controller + + - name: tenant + interface: eth2 + type: dpdk + vlan_tag: None + role: + - compute + + - name: storage + interface: eth1 + type: normal + vlan_tag: 102 + role: + - controller + - compute + + - name: external + interface: eth1 + type: normal + vlan_tag: None + role: + - controller + - compute + +ip_settings: + - name: mgmt + ip_ranges: + - - "10.1.0.50" + - "10.1.0.100" + dhcp_ranges: + - - "10.1.0.2" + - "10.1.0.49" + cidr: "10.1.0.0/24" + gw: "10.1.0.1" + role: + - controller + - compute + + - name: tenant + ip_ranges: + - - "172.16.1.1" + - "172.16.1.50" + cidr: "172.16.1.0/24" + role: + - controller + - compute + + - name: storage + ip_ranges: + - - "172.16.2.1" + - "172.16.2.50" + cidr: "172.16.2.0/24" + role: + - controller + - compute + + - name: external + ip_ranges: + - - "192.168.10.10" + - "192.168.10.50" + cidr: "192.168.10.0/24" + gw: "192.168.10.1" + role: + - controller + - compute + +internal_vip: + ip: 10.1.0.222 + netmask: "24" + interface: mgmt + +public_vip: + ip: 192.168.10.222 + netmask: "24" + interface: external + +onos_nic: eth2 +tenant_net_info: + type: vxlan + range: "1:1000" + provider_network: None + +public_net_info: + enable: "True" + network: ext-net + type: flat + segment_id: 1000 + subnet: ext-subnet + provider_network: physnet + router: router-ext + enable_dhcp: "False" + no_gateway: "False" + external_gw: "192.168.10.1" + floating_ip_cidr: "192.168.10.0/24" + floating_ip_start: "192.168.10.100" + floating_ip_end: "192.168.10.200" diff --git a/deploy/conf/hardware_environment/huawei-pod1/os-nosdn-ovs_dpdk-ha.yml b/deploy/conf/hardware_environment/huawei-pod1/os-nosdn-ovs_dpdk-ha.yml index 34640ac1..5b9d1c09 100644 --- a/deploy/conf/hardware_environment/huawei-pod1/os-nosdn-ovs_dpdk-ha.yml +++ b/deploy/conf/hardware_environment/huawei-pod1/os-nosdn-ovs_dpdk-ha.yml @@ -23,6 +23,7 @@ hosts: mac: 'F8:4A:BF:55:A2:8D' interfaces: - eth1: 'F8:4A:BF:55:A2:8E' + - eth1: 'F8:4A:BF:55:A2:8E' ipmiIp: 172.16.130.26 ipmiPass: Opnfv@pod1 roles: diff --git a/deploy/conf/hardware_environment/huawei-pod2/network_dpdk.yml b/deploy/conf/hardware_environment/huawei-pod2/network_dpdk.yml new file mode 100644 index 00000000..b357a6e1 --- /dev/null +++ b/deploy/conf/hardware_environment/huawei-pod2/network_dpdk.yml @@ -0,0 +1,132 @@ +############################################################################## +# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +--- +nic_mappings: [] +bond_mappings: [] + +provider_net_mappings: + - name: br-provider + network: physnet + interface: eth10 + type: ovs + role: + - controller + +sys_intf_mappings: + - name: mgmt + interface: eth0 + type: normal + vlan_tag: None + role: + - controller + - compute + + - name: tenant + interface: eth2 + type: normal + vlan_tag: None + role: + - controller + + - name: tenant + interface: eth2 + type: dpdk + vlan_tag: None + role: + - compute + + - name: storage + interface: eth1 + type: normal + vlan_tag: 102 + role: + - controller + - compute + + - name: external + interface: eth1 + type: normal + vlan_tag: None + role: + - controller + - compute + +ip_settings: + - name: mgmt + ip_ranges: + - - "10.1.0.50" + - "10.1.0.100" + dhcp_ranges: + - - "10.1.0.2" + - "10.1.0.49" + cidr: "10.1.0.0/24" + gw: "10.1.0.1" + role: + - controller + - compute + + - name: tenant + ip_ranges: + - - "172.16.1.1" + - "172.16.1.50" + cidr: "172.16.1.0/24" + role: + - controller + - compute + + - name: storage + ip_ranges: + - - "172.16.2.1" + - "172.16.2.50" + cidr: "172.16.2.0/24" + role: + - controller + - compute + + - name: external + ip_ranges: + - - "192.168.11.10" + - "192.168.11.50" + cidr: "192.168.11.0/24" + gw: "192.168.11.1" + role: + - controller + - compute + +internal_vip: + ip: 10.1.0.222 + netmask: "24" + interface: mgmt + +public_vip: + ip: 192.168.11.222 + netmask: "24" + interface: external + +onos_nic: eth2 +tenant_net_info: + type: vxlan + range: "1:1000" + provider_network: None + +public_net_info: + enable: "True" + network: ext-net + type: flat + segment_id: 1000 + subnet: ext-subnet + provider_network: physnet + router: router-ext + enable_dhcp: "False" + no_gateway: "False" + external_gw: "192.168.11.1" + floating_ip_cidr: "192.168.11.0/24" + floating_ip_start: "192.168.11.100" + floating_ip_end: "192.168.11.200" diff --git a/deploy/conf/hardware_environment/huawei-pod2/os-nosdn-ovs_dpdk-ha.yml b/deploy/conf/hardware_environment/huawei-pod2/os-nosdn-ovs_dpdk-ha.yml index 85dd4570..3fdfe6b7 100644 --- a/deploy/conf/hardware_environment/huawei-pod2/os-nosdn-ovs_dpdk-ha.yml +++ b/deploy/conf/hardware_environment/huawei-pod2/os-nosdn-ovs_dpdk-ha.yml @@ -26,6 +26,7 @@ hosts: ipmiIp: 172.16.130.20 interfaces: - eth1: 'EC:38:8F:79:0C:2D' + - eth2: 'EC:38:8F:79:0C:2E' roles: - controller - ha @@ -39,6 +40,7 @@ hosts: ipmiPass: Opnfv@pod2 interfaces: - eth1: 'EC:38:8F:79:0C:49' + - eth2: 'EC:38:8F:79:0C:4A' roles: - controller - ha @@ -51,6 +53,7 @@ hosts: ipmiPass: Opnfv@pod2 interfaces: - eth1: 'EC:38:8F:79:10:CD' + - eth2: 'EC:38:8F:79:10:CE' roles: - controller - ha @@ -63,6 +66,7 @@ hosts: ipmiPass: Opnfv@pod2 interfaces: - eth1: 'EC:38:8F:79:0C:6D' + - eth2: 'EC:38:8F:79:0C:6E' roles: - compute - ceph-osd @@ -74,6 +78,7 @@ hosts: ipmiPass: Opnfv@pod2 interfaces: - eth1: 'EC:38:8F:7A:E6:EE' + - eth2: 'EC:38:8F:7A:E6:EF' roles: - compute - ceph-osd diff --git a/plugins/dpdk/roles/config-dpdk/files/openvswitch-switch.service b/plugins/dpdk/roles/config-dpdk/files/openvswitch-switch.service new file mode 100644 index 00000000..cb46c341 --- /dev/null +++ b/plugins/dpdk/roles/config-dpdk/files/openvswitch-switch.service @@ -0,0 +1,17 @@ +[Unit] +Description=openvswitch-switch + +[Service] +User=root +Group=root +Type=oneshot +RemainAfterExit=yes +ExecStart=/opt/start_ovs_vswitchd.sh + +TimeoutSec=120 +#Restart=on-failure +#RestartSec=2 + +[Install] +WantedBy=multi-user.target + diff --git a/plugins/dpdk/roles/config-dpdk/handlers/main.yml b/plugins/dpdk/roles/config-dpdk/handlers/main.yml new file mode 100644 index 00000000..b1a62327 --- /dev/null +++ b/plugins/dpdk/roles/config-dpdk/handlers/main.yml @@ -0,0 +1,28 @@ +############################################################################## +# Copyright (c) 2017 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +--- +- name: service openvswitch restart + systemd: + name: "{{ item }}" + state: restarted + daemon_reload: "yes" + enabled: "yes" + with_items: "{{ openvswitch_service }}" + +- name: service libvirtd restart + service: + name: "{{ item }}" + state: restarted + with_items: "{{ libvirtd_service }}" + +- name: service neutron-openvswitch-agent restart + service: + name: "{{ item }}" + state: restarted + with_items: "{{ ovs_agent_service }}" diff --git a/plugins/dpdk/roles/config-dpdk/tasks/compute.yml b/plugins/dpdk/roles/config-dpdk/tasks/compute.yml new file mode 100644 index 00000000..b5285d79 --- /dev/null +++ b/plugins/dpdk/roles/config-dpdk/tasks/compute.yml @@ -0,0 +1,82 @@ +############################################################################# +# Copyright (c) 2017 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +--- +- name: get dpdk interface device name + command: echo "{{ compu_sys_mappings['tenant']['interface'] }}" + register: dpdk_device_name + +- name: get dpdk interface ip + shell: > + ip a show "{{ dpdk_device_name.stdout }}" | grep -E "\" | + awk '{print $2}' + register: dpdk_device_ip + +- debug: + msg: "{{ dpdk_device_ip.stdout }}" + +- name: get dpdk interface device pci + shell: > + {{ devbind_script }} -s | grep {{ dpdk_device_name.stdout }} | + awk '{print $1}' + register: dpdk_device_pci + +- name: switch dpdk interface driver + shell: "{{ switch_driver_script }}" + notify: service openvswitch restart + +- name: kill ovs process + shell: > + ps aux | grep ovs | grep -v grep | awk '{print $2}' | xargs kill -9 | + true + notify: service openvswitch restart + +- name: copy service file + copy: + src: openvswitch-switch.service + dest: /lib/systemd/system/openvswitch-switch.service + notify: service openvswitch restart + +- name: config libvirtd + shell: echo 'user = "root"' >> /etc/libvirt/qemu.conf + notify: service libvirtd restart + +- meta: flush_handlers + +- name: config neutron-openvswitch-agent + blockinfile: + dest: /etc/neutron/plugins/ml2/openvswitch_agent.ini + insertafter: '^\[ovs\]' + block: | + datapath_type=netdev + vhostuser_socket_dir=/usr/local/var/run/openvswitch + +- name: set ovs manager + shell: ovs-vsctl set-manager ptcp:6640:127.0.0.1 + notify: service neutron-openvswitch-agent restart + +- name: config ovs to dpdk + shell: | + ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true + ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-socket-mem="{{ dpdk_memory }}" + notify: service neutron-openvswitch-agent restart + +- name: add dpdk bridge + shell: | + ovs-vsctl add-br br-dpdk -- set bridge br-dpdk datapath_type=netdev + ovs-vsctl add-port br-dpdk dpdk0 -- set Interface dpdk0 \ + type=dpdk options:dpdk-devargs="{{ dpdk_device_pci.stdout }}" + notify: service neutron-openvswitch-agent restart + +- name: bind ip on dpdk bridge + shell: | + ifconfig br-dpdk "{{ dpdk_device_ip.stdout }}" + ifconfig br-dpdk up + notify: service neutron-openvswitch-agent restart + +- meta: flush_handlers diff --git a/plugins/dpdk/roles/config-dpdk/tasks/config-dpdk.yml b/plugins/dpdk/roles/config-dpdk/tasks/config-dpdk.yml new file mode 100644 index 00000000..b0e1a1ed --- /dev/null +++ b/plugins/dpdk/roles/config-dpdk/tasks/config-dpdk.yml @@ -0,0 +1,16 @@ +############################################################################# +# Copyright (c) 2017 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +--- +- include_vars: "{{ ansible_distribution }}.yml" + +- include: neutron_agent.yml + when: inventory_hostname in groups['neutron_openvswitch_agent'] + +- include: compute.yml + when: inventory_hostname in groups['compute'] diff --git a/plugins/dpdk/roles/config-dpdk/tasks/main.yml b/plugins/dpdk/roles/config-dpdk/tasks/main.yml new file mode 100644 index 00000000..19fc66b7 --- /dev/null +++ b/plugins/dpdk/roles/config-dpdk/tasks/main.yml @@ -0,0 +1,11 @@ +############################################################################## +# Copyright (c) 2017 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +--- +- include: config-dpdk.yml + when: dpdk is defined and dpdk == "Enable" diff --git a/plugins/dpdk/roles/config-dpdk/tasks/neutron_agent.yml b/plugins/dpdk/roles/config-dpdk/tasks/neutron_agent.yml new file mode 100644 index 00000000..aa65142b --- /dev/null +++ b/plugins/dpdk/roles/config-dpdk/tasks/neutron_agent.yml @@ -0,0 +1,15 @@ +############################################################################# +# Copyright (c) 2017 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +--- +- name: config neutron-openvswitch-agent + lineinfile: + dest: /etc/neutron/plugins/ml2/openvswitch_agent.ini + regexp: '^firewall_driver' + line: "firewall_driver = openvswitch" + notify: service neutron-openvswitch-agent restart diff --git a/plugins/dpdk/roles/config-dpdk/vars/Ubuntu.yml b/plugins/dpdk/roles/config-dpdk/vars/Ubuntu.yml new file mode 100644 index 00000000..697785ad --- /dev/null +++ b/plugins/dpdk/roles/config-dpdk/vars/Ubuntu.yml @@ -0,0 +1,14 @@ +######################################################################### +# Copyright (c) 2017 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +########################################################################## +--- +devbind_script: /root/dpdk/tools/dpdk-devbind.py +switch_driver_script: /root/dpdk_uio.sh +openvswitch_service: openvswitch-switch +ovs_agent_service: neutron-openvswitch-agent +libvirtd_service: libvirtd diff --git a/plugins/dpdk/roles/config-dpdk/vars/main.yml b/plugins/dpdk/roles/config-dpdk/vars/main.yml new file mode 100644 index 00000000..f6115b62 --- /dev/null +++ b/plugins/dpdk/roles/config-dpdk/vars/main.yml @@ -0,0 +1,10 @@ +########################################################################## +# Copyright (c) 2017 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +########################################################################## +--- +dpdk_memory: 128 diff --git a/plugins/dpdk/roles/ins_dpdk/vars/main.yml b/plugins/dpdk/roles/ins_dpdk/vars/main.yml index 87e1026c..4bd4076e 100644 --- a/plugins/dpdk/roles/ins_dpdk/vars/main.yml +++ b/plugins/dpdk/roles/ins_dpdk/vars/main.yml @@ -8,7 +8,7 @@ ############################################################################## --- # yamllint disable rule:line-length -grub_cmdline: GRUB_CMDLINE_LINUX_DEFAULT="hugepagesz=2M hugepages=2048 iommu=pt intel_iommu=on isolcpus=1,2" +grub_cmdline: GRUB_CMDLINE_LINUX_DEFAULT="hugepagesz=2M hugepages=2048 iommu=pt intel_iommu=on" # yamllint enable rule:line-length dpdk_dir: /root/dpdk diff --git a/plugins/dpdk/roles/ins_ovs/tasks/ovs.yml b/plugins/dpdk/roles/ins_ovs/tasks/ovs.yml index 9f728696..64475c6a 100644 --- a/plugins/dpdk/roles/ins_ovs/tasks/ovs.yml +++ b/plugins/dpdk/roles/ins_ovs/tasks/ovs.yml @@ -1,11 +1,11 @@ -# ############################################################################# +############################################################################## # Copyright (c) 2017 HUAWEI TECHNOLOGIES CO.,LTD and others. # # All rights reserved. This program and the accompanying materials # are made available under the terms of the Apache License, Version 2.0 # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 -# ############################################################################# +############################################################################## --- - name: install prerequisites package apt: @@ -64,11 +64,10 @@ - name: Create OVS scripts template: src: "templates/{{ item }}.j2" - dest: "/root/{{ item }}" + dest: "/opt/{{ item }}" mode: 0755 with_items: - start_ovs_vswitchd.sh - - start_ovsdb_server.sh - name: Create folders file: path={{ item }} state=directory @@ -90,8 +89,5 @@ when: ovs_dbconfig_status.stat.exists == false # yamllint enable rule:line-length -- name: Start ovsdb Server - command: /root/start_ovsdb_server.sh - - name: Start OVS vswitchd with DPDK support enabled - command: /root/start_ovs_vswitchd.sh + command: /opt/start_ovs_vswitchd.sh diff --git a/plugins/dpdk/roles/ins_ovs/templates/start_ovs_vswitchd.sh.j2 b/plugins/dpdk/roles/ins_ovs/templates/start_ovs_vswitchd.sh.j2 index c1504177..a96c8721 100644 --- a/plugins/dpdk/roles/ins_ovs/templates/start_ovs_vswitchd.sh.j2 +++ b/plugins/dpdk/roles/ins_ovs/templates/start_ovs_vswitchd.sh.j2 @@ -1,4 +1,8 @@ #!/bin/bash +ovsdb-server --remote=punix:/usr/local/var/run/openvswitch/db.sock \ + --remote=db:Open_vSwitch,Open_vSwitch,manager_options \ + --pidfile --detach + export DB_SOCK=/usr/local/var/run/openvswitch/db.sock sudo ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true sudo ovs-vswitchd unix:$DB_SOCK --pidfile --detach diff --git a/plugins/dpdk/roles/ins_ovs/templates/start_ovsdb_server.sh.j2 b/plugins/dpdk/roles/ins_ovs/templates/start_ovsdb_server.sh.j2 deleted file mode 100644 index 8bc408b6..00000000 --- a/plugins/dpdk/roles/ins_ovs/templates/start_ovsdb_server.sh.j2 +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -ovsdb-server --remote=punix:/usr/local/var/run/openvswitch/db.sock \ - --remote=db:Open_vSwitch,Open_vSwitch,manager_options \ - --pidfile --detach -- cgit 1.2.3-korg