Define one more SR-IOV network for NetDevice type
SPGW-U and the other regular network applications (e.g., CDN and BBU/CU)
use SR-IOV/VFIO and SR-IOV/NetDevice, respectively.
Thus, need to define one more SR-IOV network.
Change-Id: Iff331fcb8f2040ce4127be5d591c6bd4e1aa32bd
diff --git a/mcord-release/cdn-services/cdn-local/Chart.yaml b/mcord-release/cdn-services/cdn-local/Chart.yaml
index 6d74c93..7e74640 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.2
+version: 0.0.3
diff --git a/mcord-release/cdn-services/cdn-local/templates/networks.yaml b/mcord-release/cdn-services/cdn-local/templates/networks.yaml
new file mode 100644
index 0000000..ec2707f
--- /dev/null
+++ b/mcord-release/cdn-services/cdn-local/templates/networks.yaml
@@ -0,0 +1,42 @@
+---
+# Copyright 2018-present Open Networking Foundation
+# Copyright 2018 Intel Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+{{- range .Values.network.networks }}
+---
+apiVersion: "k8s.cni.cncf.io/v1"
+kind: NetworkAttachmentDefinition
+metadata:
+ name: {{ .name }}
+{{- if $.Values.network.sriov.enabled }}
+ annotations:
+ k8s.v1.cni.cncf.io/resourceName: intel.com/sriov_netdevice
+{{- end }}
+spec:
+ config: '{
+ "type": {{ .type | quote }},
+ "ipam": {
+ "type": {{ .ipam | quote }},
+ {{- if eq .ipam "host-local" }}
+ "subnet": {{ .subnet | quote }},
+ "gateway": {{ .gateway | quote }}
+ {{- else if eq .ipam "centralip" }}
+ "ipType": "cluster",
+ "network": {{ .subnet | quote }},
+ "etcdURL": {{ $.Values.etcdurl | quote }}
+ {{- end }}
+ }
+ }'
+{{- end }}
diff --git a/mcord-release/cdn-services/cdn-local/templates/nginx.yaml b/mcord-release/cdn-services/cdn-local/templates/nginx.yaml
index c2ef758..8b97592 100644
--- a/mcord-release/cdn-services/cdn-local/templates/nginx.yaml
+++ b/mcord-release/cdn-services/cdn-local/templates/nginx.yaml
@@ -43,7 +43,7 @@
app: nginx-rtmp
annotations:
k8s.v1.cni.cncf.io/networks: '[
- { "name": "sgi-net", "interface": "sgi-net", "namespace": "default" }
+ { "name": "sgi-net-nd", "interface": "sgi-net-nd" }
]'
spec:
#hostNetwork: true
@@ -89,7 +89,7 @@
mountPath: /conf
resources:
limits:
- intel.com/sriov: '2'
+ intel.com/sriov_netdevice: '2'
volumes:
- name: nginx-rtmp-config
configMap:
diff --git a/mcord-release/cdn-services/cdn-local/values.yaml b/mcord-release/cdn-services/cdn-local/values.yaml
index e7cfba3..b790a9c 100644
--- a/mcord-release/cdn-services/cdn-local/values.yaml
+++ b/mcord-release/cdn-services/cdn-local/values.yaml
@@ -21,6 +21,7 @@
spgwu_sgiip: 13.0.0.83
ue_ip_subnet1: 16.0.0.0/8
ue_ip_subnet2: 17.0.0.0/8
+etcdurl: http://node1:32379
nginx:
images:
@@ -31,3 +32,13 @@
replicas: 1
nodeselector:
sriov: netdevice
+
+network:
+ sriov:
+ enabled: true
+ networks:
+ - name: sgi-net-nd
+ type: sriov
+ ipam: centralip
+ subnet: 13.1.1.0/24
+ gateway: 13.1.1.254
\ No newline at end of file
diff --git a/mcord-release/cdn-services/cdn-remote/Chart.yaml b/mcord-release/cdn-services/cdn-remote/Chart.yaml
index e1eeac7..a98e014 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.2
+version: 0.0.3
diff --git a/mcord-release/mcord-services/Chart.yaml b/mcord-release/mcord-services/Chart.yaml
index 12a8042..57fffe3 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.2
+version: 0.1.3
diff --git a/mcord-release/mcord-services/templates/networks.yaml b/mcord-release/mcord-services/templates/networks.yaml
index 0cecc3a..8ea9d8e 100644
--- a/mcord-release/mcord-services/templates/networks.yaml
+++ b/mcord-release/mcord-services/templates/networks.yaml
@@ -22,7 +22,7 @@
name: {{ .name }}
{{- if $.Values.network.sriov.enabled }}
annotations:
- k8s.v1.cni.cncf.io/resourceName: intel.com/sriov
+ k8s.v1.cni.cncf.io/resourceName: intel.com/sriov_vfio
{{- end }}
spec:
config: '{
diff --git a/mcord-release/mcord-services/templates/statefulset-spgwu.yaml b/mcord-release/mcord-services/templates/statefulset-spgwu.yaml
index 837872c..da94a73 100644
--- a/mcord-release/mcord-services/templates/statefulset-spgwu.yaml
+++ b/mcord-release/mcord-services/templates/statefulset-spgwu.yaml
@@ -121,7 +121,7 @@
cpu: {{ .Values.spgwu.resources.cpu | quote }}
memory: {{ .Values.spgwu.resources.memory }}
{{- if .Values.network.sriov.enabled }}
- intel.com/sriov: 2
+ intel.com/sriov_vfio: 2
{{- end }}
securityContext:
capabilities:
diff --git a/mcord-release/mcord-setup/Chart.yaml b/mcord-release/mcord-setup/Chart.yaml
index c3db31c..afdf2fd 100644
--- a/mcord-release/mcord-setup/Chart.yaml
+++ b/mcord-release/mcord-setup/Chart.yaml
@@ -18,4 +18,4 @@
appVersion: "1.0"
description: The prerequisite setup of M-CORD
name: mcord-setup
-version: 0.1.1
+version: 0.1.2
diff --git a/mcord-release/mcord-setup/templates/NOTES.txt b/mcord-release/mcord-setup/templates/NOTES.txt
index bc70b1d..a059f77 100644
--- a/mcord-release/mcord-setup/templates/NOTES.txt
+++ b/mcord-release/mcord-setup/templates/NOTES.txt
@@ -19,15 +19,15 @@
Your configurations for SR-IOV network device plugin as following:
- 10-Gigabit NIC PCI address: {{ .Values.sriov.devicepci }}
- SR-IOV device type: {{ .Values.sriov.devicetype }}
+ 10-Gigabit NIC PCI address: {{ .Values.sriov_vfio.devicepci }}
+ SR-IOV device type: {{ .Values.sriov_vfio.devicetype }} and {{ .Values.sriov_netdevice.devicetype }}
You can run following command to check SR-IOV is working in Kubernetes cluster:
$ kubectl -n kube-system -l name=sriov-device-plugin -o wide get pods
$ kubectl get nodes -o json | jq -r '.items[] | "\(.metadata.name): \(.status.allocatable)"'
- node1: {"cpu":"39800m","ephemeral-storage":"452697199891","hugepages-1Gi":"32Gi","intel.com/sriov":"63","memory":"31776336Ki","pods":"110"}
- node2: {"cpu":"39800m","ephemeral-storage":"452697199891","hugepages-1Gi":"32Gi","intel.com/sriov":"63","memory":"31776336Ki","pods":"110"}
+ node1: {"cpu":"39800m","ephemeral-storage":"452697199891","hugepages-1Gi":"32Gi","intel.com/sriov_vfio":"63","intel.com/sriov_netdevice":"63","memory":"31776336Ki","pods":"110"}
+ node2: {"cpu":"39800m","ephemeral-storage":"452697199891","hugepages-1Gi":"32Gi","intel.com/sriov_vfio":"63","intel.com/sriov_netdevice":"63","memory":"31776336Ki","pods":"110"}
-The result should show "intel.com/sriov" resource is registered to cluster, and have some virtual function available here.
+The result should show "intel.com/sriov_*" resource is registered to cluster, and have some virtual function available here.
diff --git a/mcord-release/mcord-setup/templates/sriov-conf.yaml b/mcord-release/mcord-setup/templates/sriov-conf.yaml
index 03befce..fcc0f24 100644
--- a/mcord-release/mcord-setup/templates/sriov-conf.yaml
+++ b/mcord-release/mcord-setup/templates/sriov-conf.yaml
@@ -25,10 +25,16 @@
"resourceList":
[
{
- "resourceName": {{ .Values.sriov.name | quote }},
- "rootDevices": [{{ .Values.sriov.devicepci | quote }}],
+ "resourceName": {{ .Values.sriov_vfio.name | quote }},
+ "rootDevices": [{{ .Values.sriov_vfio.devicepci | quote }}],
"sriovMode": true,
- "deviceType": {{ .Values.sriov.devicetype | quote }}
+ "deviceType": {{ .Values.sriov_vfio.devicetype | quote }}
+ },
+ {
+ "resourceName": {{ .Values.sriov_netdevice.name | quote }},
+ "rootDevices": [{{ .Values.sriov_netdevice.devicepci | quote }}],
+ "sriovMode": true,
+ "deviceType": {{ .Values.sriov_netdevice.devicetype | quote }}
}
]
}
diff --git a/mcord-release/mcord-setup/values.yaml b/mcord-release/mcord-setup/values.yaml
index d9f8be4..58ca552 100644
--- a/mcord-release/mcord-setup/values.yaml
+++ b/mcord-release/mcord-setup/values.yaml
@@ -18,7 +18,12 @@
initimage: aweimeow/multus-sriov
image: aweimeow/multus-sriov
-sriov:
- name: sriov
+sriov_vfio:
+ name: sriov_vfio
devicepci: 04:00.0
devicetype: vfio
+
+sriov_netdevice:
+ name: sriov_netdevice
+ devicepci: 04:00.0
+ devicetype: netdevice