"interface": "veth11" }
           ]'
     spec:
+      affinity:
+        nodeAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+            nodeSelectorTerms:
+            - matchExpressions:
+              {{- range .Values.global.nodeAffinity }}
+              - key: {{ .label.labelkey }}
+                operator: {{ .label.op }}
+                values:
+                {{- range .label.labelvalues }}
+                - {{ . }}
+                {{- end }}
+              {{- end }}
       containers:
       - name: {{ .Chart.Name }}
         image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
         env:
           - name: unprotectedNetCidr
             value: "{{.Values.global.unprotectedNetCidr}}"
-          - name: unprotectedNetGw
-            value: "{{.Values.global.unprotectedNetGw}}"
+          - name: unprotectedNetGwIp
+            value: "{{.Values.global.unprotectedNetGwIp}}"
           - name: protectedNetCidr
             value: "{{.Values.global.protectedNetCidr}}"
-          - name: protectedNetGw
-            value: "{{.Values.global.protectedNetGw}}"
           - name: protectedNetGwIp
             value: "{{.Values.global.protectedNetGwIp}}"
           - name: dcaeCollectorIp
 
             "interface": "veth22" }
           ]'
     spec:
+      affinity:
+        nodeAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+            nodeSelectorTerms:
+            - matchExpressions:
+              {{- range .Values.global.nodeAffinity }}
+              - key: {{ .label.labelkey }}
+                operator: {{ .label.op }}
+                values:
+                {{- range .label.labelvalues }}
+                - {{ . }}
+                {{- end }}
+              {{- end }}
       containers:
         - name: {{ .Chart.Name }}
           image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
           env:
             - name: unprotectedNetCidr
               value: "{{.Values.global.unprotectedNetCidr}}"
-            - name: unprotectedNetGw
-              value: "{{.Values.global.unprotectedNetGw}}"
+            - name: unprotectedNetGwIp
+              value: "{{.Values.global.unprotectedNetGwIp}}"
             - name: protectedNetCidr
               value: "{{.Values.global.protectedNetCidr}}"
-            - name: protectedNetGw
-              value: "{{.Values.global.protectedNetGw}}"
             - name: protectedNetGwIp
               value: "{{.Values.global.protectedNetGwIp}}"
             - name: dcaeCollectorIp
 
             "interface": "veth21" }
           ]'
     spec:
+      affinity:
+        nodeAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+            nodeSelectorTerms:
+            - matchExpressions:
+              {{- range .Values.global.nodeAffinity }}
+              - key: {{ .label.labelkey }}
+                operator: {{ .label.op }}
+                values:
+                {{- range .label.labelvalues }}
+                - {{ . }}
+                {{- end }}
+              {{- end }}
       containers:
       - name: {{ .Chart.Name }}
         image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
         env:
         - name: unprotectedNetCidr
           value: "{{.Values.global.unprotectedNetCidr}}"
-        - name: unprotectedNetGw
-          value: "{{.Values.global.unprotectedNetGw}}"
+        - name: unprotectedNetGwIp
+          value: "{{.Values.global.unprotectedNetGwIp}}"
         - name: protectedNetCidr
           value: "{{.Values.global.protectedNetCidr}}"
-        - name: protectedNetGw
-          value: "{{.Values.global.protectedNetGw}}"
         - name: protectedNetGwIp
           value: "{{.Values.global.protectedNetGwIp}}"
         - name: dcaeCollectorIp
 
 global:
 
   nodeAffinity:
-    key: nodeName
-    values: worker-0
-    op: In
+    - label:
+        labelkey: sriovdp
+        op: In
+        labelvalues:
+          - enabled
+    - label:
+        labelkey:  kube-cpu-mgr-policy
+        op: In
+        labelvalues:
+          - static
 
   #Networks
   #unprotectedNetworkName: unprotected-private-net
   unprotectedNetPortVpg: veth11
   unprotectedNetPortVfw: veth12
   unprotectedNetCidr: 10.10.1.0/24
-  unprotectedNetGw: 10.10.1.1/24
+  #unprotectedNetGw: 10.10.1.1/24
+  unprotectedNetGwIp: 10.10.1.1
 
   #onapPrivateNetworkName: onap-private-net
   #onapPrivateNetCidr: 10.10.0.0/16
   protectedNetPortVsn: veth22
   protectedNetCidr: 10.10.2.0/24
   protectedNetGwIp: 10.10.2.1
-  protectedNetGw: 10.10.2.1/24
+  #protectedNetGw: 10.10.2.1/24
 
   #vFirewall container
   #vfwPrivateIp0: 192.168.10.3
 
             "interface": "veth11" }
           ]'
     spec:
+      affinity:
+        nodeAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+            nodeSelectorTerms:
+            - matchExpressions:
+              {{- range .Values.global.nodeAffinity }}
+              - key: {{ .label.labelkey }}
+                operator: {{ .label.op }}
+                values:
+                {{- range .label.labelvalues }}
+                - {{ . }}
+                {{- end }}
+              {{- end }}
       containers:
       - name: {{ .Chart.Name }}
         image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
             value: "{{.Values.global.unprotectedNetProviderDriver}}"
           - name: protectedNetProviderDriver
             value: "{{.Values.global.protectedNetProviderDriver}}"
+          - name: unprotectedNetProviderVlan
+            value: "{{.Values.global.unprotectedNetProviderVlan}}"
+          - name: protectedNetProviderVlan
+            value: "{{.Values.global.protectedNetProviderVlan}}"
         command: ["/bin/bash", "/opt/vpg_start.sh"]
         securityContext:
             privileged: true
 
             "interface": "veth22" }
           ]'
     spec:
+      affinity:
+        nodeAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+            nodeSelectorTerms:
+            - matchExpressions:
+              {{- range .Values.global.nodeAffinity }}
+              - key: {{ .label.labelkey }}
+                operator: {{ .label.op }}
+                values:
+                {{- range .label.labelvalues }}
+                - {{ . }}
+                {{- end }}
+              {{- end }}
       containers:
         - name: {{ .Chart.Name }}
           image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
               value: "{{.Values.global.unprotectedNetProviderDriver}}"
             - name: protectedNetProviderDriver
               value: "{{.Values.global.protectedNetProviderDriver}}"
+            - name: unprotectedNetProviderVlan
+              value: "{{.Values.global.unprotectedNetProviderVlan}}"
+            - name: protectedNetProviderVlan
+              value: "{{.Values.global.protectedNetProviderVlan}}"
           command: ["/bin/bash", "/opt/vsn_start.sh"]
           securityContext:
               privileged: true
 
             "interface": "veth21" }
           ]'
     spec:
+      affinity:
+        nodeAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+            nodeSelectorTerms:
+            - matchExpressions:
+              {{- range .Values.global.nodeAffinity }}
+              - key: {{ .label.labelkey }}
+                operator: {{ .label.op }}
+                values:
+                {{- range .label.labelvalues }}
+                - {{ . }}
+                {{- end }}
+              {{- end }}
       containers:
       - name: {{ .Chart.Name }}
         image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
           value: "{{.Values.global.unprotectedNetProviderDriver}}"
         - name: protectedNetProviderDriver
           value: "{{.Values.global.protectedNetProviderDriver}}"
+        - name: unprotectedNetProviderVlan
+          value: "{{.Values.global.unprotectedNetProviderVlan}}"
+        - name: protectedNetProviderVlan
+          value: "{{.Values.global.protectedNetProviderVlan}}"
         command: ["/bin/bash", "/opt/vfw_start.sh"]
         securityContext:
             privileged: true
 
 global:
 
   nodeAffinity:
-    key: nodeName
-    values: worker-0
-    op: In
+    - label:
+        labelkey: sriovdp
+        op: In
+        labelvalues:
+          - enabled
+    - label:
+        labelkey:  kube-cpu-mgr-policy
+        op: In
+        labelvalues:
+          - static
 
   #Networks
   #unprotectedNetworkName: unprotected-private-net