Merge pull request #145 from alexandruavadanii/ovs-dpdk-alternatives

ovs-dpdk should work without system reboot
diff --git a/linux/network/dpdk.sls b/linux/network/dpdk.sls
index 97a81b5..4b73f7f 100644
--- a/linux/network/dpdk.sls
+++ b/linux/network/dpdk.sls
@@ -9,6 +9,7 @@
 linux_dpdk_kernel_module:
   kmod.present:
   - name: {{ network.dpdk.driver }}
+  - persist: true
   - require:
     - pkg: linux_dpdk_pkgs
   - require_in:
@@ -73,6 +74,15 @@
 
 {%- endfor %}
 
+openvswitch_dpdk_ovs_alternative:
+  alternatives.remove:
+  - name: ovs-vswitchd
+  - path: /usr/lib/openvswitch-switch/ovs-vswitchd
+  - require:
+    - pkg: openvswitch_dpdk_pkgs
+  - watch_in:
+    - service: service_openvswitch
+
 service_openvswitch:
   service.running:
   - name: openvswitch-switch
diff --git a/linux/system/hugepages.sls b/linux/system/hugepages.sls
index 81eb7d6..1c43262 100644
--- a/linux/system/hugepages.sls
+++ b/linux/system/hugepages.sls
@@ -29,6 +29,13 @@
     - mkmnt: true
     - opts: mode=775,pagesize={{ hugepages.size }}
 
+# Make hugepages available right away with a temporary systctl write
+# This will be handled via krn args after reboot, so don't use `sysctl.present`
+hugepages_sysctl_vm_nr_hugepages:
+  cmd.run:
+    - name: "sysctl vm.nr_hugepages={{ hugepages.count }}"
+    - unless: "sysctl vm.nr_hugepages | grep -qE '{{ hugepages.count }}'"
+
 {%- endif %}
 
 {%- endfor %}