Config dpdk and ovs 71/44771/11
authorHarry Huang <huangxiangyu5@huawei.com>
Wed, 11 Oct 2017 10:11:52 +0000 (18:11 +0800)
committerHarry Huang <huangxiangyu5@huawei.com>
Tue, 24 Oct 2017 01:24:18 +0000 (09:24 +0800)
switch dpdk interface driver and bring
up corresponding ovs bridges.

Change-Id: I07bd9b332978482507711cfbd8ad29802a8b1a8c
Signed-off-by: Harry Huang <huangxiangyu5@huawei.com>
20 files changed:
deploy/adapters/ansible/openstack/HA-ansible-multinodes.yml
deploy/adapters/ansible/roles/post-osa/tasks/Ubuntu.yml [new file with mode: 0755]
deploy/adapters/ansible/roles/post-osa/tasks/main.yml
deploy/adapters/ansible/roles/setup-openvswitch/tasks/compute.yml
deploy/conf/hardware_environment/huawei-pod1/network_dpdk.yml [new file with mode: 0644]
deploy/conf/hardware_environment/huawei-pod1/os-nosdn-ovs_dpdk-ha.yml
deploy/conf/hardware_environment/huawei-pod2/network_dpdk.yml [new file with mode: 0644]
deploy/conf/hardware_environment/huawei-pod2/os-nosdn-ovs_dpdk-ha.yml
plugins/dpdk/roles/config-dpdk/files/openvswitch-switch.service [new file with mode: 0644]
plugins/dpdk/roles/config-dpdk/handlers/main.yml [new file with mode: 0644]
plugins/dpdk/roles/config-dpdk/tasks/compute.yml [new file with mode: 0644]
plugins/dpdk/roles/config-dpdk/tasks/config-dpdk.yml [new file with mode: 0644]
plugins/dpdk/roles/config-dpdk/tasks/main.yml [new file with mode: 0644]
plugins/dpdk/roles/config-dpdk/tasks/neutron_agent.yml [new file with mode: 0644]
plugins/dpdk/roles/config-dpdk/vars/Ubuntu.yml [new file with mode: 0644]
plugins/dpdk/roles/config-dpdk/vars/main.yml [new file with mode: 0644]
plugins/dpdk/roles/ins_dpdk/vars/main.yml
plugins/dpdk/roles/ins_ovs/tasks/ovs.yml
plugins/dpdk/roles/ins_ovs/templates/start_ovs_vswitchd.sh.j2
plugins/dpdk/roles/ins_ovs/templates/start_ovsdb_server.sh.j2 [deleted file]

index 3f58435..5982677 100644 (file)
   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 (executable)
index 0000000..5d53d23
--- /dev/null
@@ -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
index cf157d7..c48a5d1 100644 (file)
@@ -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"
index 62edd34..b7a8fbc 100644 (file)
   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 (file)
index 0000000..0348362
--- /dev/null
@@ -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"
index 34640ac..5b9d1c0 100644 (file)
@@ -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 (file)
index 0000000..b357a6e
--- /dev/null
@@ -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"
index 85dd457..3fdfe6b 100644 (file)
@@ -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 (file)
index 0000000..cb46c34
--- /dev/null
@@ -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 (file)
index 0000000..b1a6232
--- /dev/null
@@ -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 (file)
index 0000000..b5285d7
--- /dev/null
@@ -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 "\<inet\>" |
+    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 (file)
index 0000000..b0e1a1e
--- /dev/null
@@ -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 (file)
index 0000000..19fc66b
--- /dev/null
@@ -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 (file)
index 0000000..aa65142
--- /dev/null
@@ -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 (file)
index 0000000..697785a
--- /dev/null
@@ -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 (file)
index 0000000..f6115b6
--- /dev/null
@@ -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
index 87e1026..4bd4076 100644 (file)
@@ -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
index 9f72869..64475c6 100644 (file)
@@ -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:
 - 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
index c150417..a96c872 100644 (file)
@@ -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 (file)
index 8bc408b..0000000
+++ /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