[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/cdn-services/cdn-local/Chart.yaml b/mcord-release/cdn-services/cdn-local/Chart.yaml
index d162d11..6d74c93 100644
--- a/mcord-release/cdn-services/cdn-local/Chart.yaml
+++ b/mcord-release/cdn-services/cdn-local/Chart.yaml
@@ -17,4 +17,4 @@
appVersion: "1.0"
description: A Helm chart for M-CORD CDN Services in Local Edge
name: cdn-local
-version: 0.0.1
+version: 0.0.2
diff --git a/mcord-release/cdn-services/cdn-local/templates/nginx.yaml b/mcord-release/cdn-services/cdn-local/templates/nginx.yaml
index 7c9548f..c2ef758 100644
--- a/mcord-release/cdn-services/cdn-local/templates/nginx.yaml
+++ b/mcord-release/cdn-services/cdn-local/templates/nginx.yaml
@@ -48,7 +48,7 @@
spec:
#hostNetwork: true
nodeSelector:
- kubernetes.io/hostname: {{ .Values.cdn_node_selector }}
+{{ toYaml .Values.nginx.nodeselector | indent 8 }}
terminationGracePeriodSeconds: 0
imagePullSecrets:
- name: nexus-docker-secret
diff --git a/mcord-release/cdn-services/cdn-local/values.yaml b/mcord-release/cdn-services/cdn-local/values.yaml
index 965456c..e7cfba3 100644
--- a/mcord-release/cdn-services/cdn-local/values.yaml
+++ b/mcord-release/cdn-services/cdn-local/values.yaml
@@ -13,7 +13,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-cdn_node_selector: node3
nginx_hostname: "nginx"
local_vlc_hostname: "local_vlc"
@@ -30,3 +29,5 @@
rtmp_orig: 1935
rtmp_np: 31935
replicas: 1
+ nodeselector:
+ sriov: netdevice
diff --git a/mcord-release/cdn-services/cdn-remote/Chart.yaml b/mcord-release/cdn-services/cdn-remote/Chart.yaml
index 719ccf3..e1eeac7 100644
--- a/mcord-release/cdn-services/cdn-remote/Chart.yaml
+++ b/mcord-release/cdn-services/cdn-remote/Chart.yaml
@@ -17,4 +17,4 @@
appVersion: "1.0"
description: A Helm chart for M-CORD CDN Services in Remote Edge
name: cdn-remote
-version: 0.0.1
+version: 0.0.2
diff --git a/mcord-release/cdn-services/cdn-remote/templates/ant-media.yaml b/mcord-release/cdn-services/cdn-remote/templates/ant-media.yaml
index 0dc8efc..c3d4a61 100644
--- a/mcord-release/cdn-services/cdn-remote/templates/ant-media.yaml
+++ b/mcord-release/cdn-services/cdn-remote/templates/ant-media.yaml
@@ -53,8 +53,6 @@
name: antmedia
spec:
terminationGracePeriodSeconds: 1
- nodeSelector:
- kubernetes.io/hostname: {{ .Values.cdn_node_selector }}
containers:
- name: antmedia
image: {{ .Values.antmedia.images.antmedia_image }}
diff --git a/mcord-release/cdn-services/cdn-remote/templates/remote-streamer.yaml b/mcord-release/cdn-services/cdn-remote/templates/remote-streamer.yaml
index b974c44..8fd2574 100644
--- a/mcord-release/cdn-services/cdn-remote/templates/remote-streamer.yaml
+++ b/mcord-release/cdn-services/cdn-remote/templates/remote-streamer.yaml
@@ -50,8 +50,6 @@
name: remote-streaming
spec:
terminationGracePeriodSeconds: 1
- nodeSelector:
- kubernetes.io/hostname: {{ .Values.cdn_node_selector }}
containers:
- name: streaming
image: {{ .Values.remote_streaming.images.remote_streaming_image }}
diff --git a/mcord-release/cdn-services/cdn-remote/values.yaml b/mcord-release/cdn-services/cdn-remote/values.yaml
index e1e8ad8..876e503 100644
--- a/mcord-release/cdn-services/cdn-remote/values.yaml
+++ b/mcord-release/cdn-services/cdn-remote/values.yaml
@@ -14,7 +14,6 @@
# limitations under the License.
namespace: remotecdn
-cdn_node_selector: node2
remote_streaming_hostname: "remote-streaming"
stream_name: 1.stream
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