[COMAC-103] Allow SPGW-U to run a specific node by using nodeselector

Reason: SPGW-U and CDN use different SR-IOV: NetDevice and VFIO.
Unfortunately, both can't occupy same network interface port in the same
node. Thus, classify two types of nodes: (i) nodes for NetDevice and (ii)
nodes for VFIO. Then, deploy SPGW-U and CDN into the different type of
nodes.

To deploy them into the different type of machine, define nodeselector.

Please see COMAC-103 issues in Jira.

NOTE: WIP - To allow both NetDevice and VFIO to occupy the same port in the
same machine.

Change-Id: Idf8561127dedcb23c265c373db3c612fef342f37
diff --git a/mcord-release/mcord-services/Chart.yaml b/mcord-release/mcord-services/Chart.yaml
index d6207da..12a8042 100644
--- a/mcord-release/mcord-services/Chart.yaml
+++ b/mcord-release/mcord-services/Chart.yaml
@@ -18,4 +18,4 @@
 appVersion: "1.0"
 description: M-CORD services with OMEC inside
 name: mcord-services
-version: 0.1.1
+version: 0.1.2
diff --git a/mcord-release/mcord-services/templates/statefulset-spgwu.yaml b/mcord-release/mcord-services/templates/statefulset-spgwu.yaml
index 49a2ee6..837872c 100644
--- a/mcord-release/mcord-services/templates/statefulset-spgwu.yaml
+++ b/mcord-release/mcord-services/templates/statefulset-spgwu.yaml
@@ -36,6 +36,10 @@
                 { "name": "sgi-net", "interface": "sgi-net" }
         ]'
     spec:
+{{- if .Values.network.sriov.enabled }}
+      nodeSelector:
+{{ toYaml .Values.spgwu.nodeselector | indent 8 }}
+{{- end }}
 {{- if not .Values.network.sriov.enabled }}
       initContainers:
         - name: spgwu-iptables-init
diff --git a/mcord-release/mcord-services/values.yaml b/mcord-release/mcord-services/values.yaml
index 8008899..f2516d4 100644
--- a/mcord-release/mcord-services/values.yaml
+++ b/mcord-release/mcord-services/values.yaml
@@ -56,6 +56,8 @@
 
 spgwu:
   name: spgwu
+  nodeselector:
+    sriov: vfio
   images:
     tags:
       init: ngick8stesting/c3po-init:latest