- kubectl exec -it $deployment_pod -- ip a
[1]https://github.com/onap/multicloud-k8s/blob/9c63ce2a7b2b66b3e3fce5d1f553f327148df83f/kud/tests/_common.sh#L856 [2]https://github.com/onap/multicloud-k8s/blob/9c63ce2a7b2b66b3e3fce5d1f553f327148df83f/kud/tests/_common.sh#L873 | - Apply the macvlan-network.yaml.
- Create a pod with macvlan annotation.
- Verify the “net1” interface was configured in the deployed pod.
Link: openness multus usage: https://github.com/open-ness/specs/blob/master/doc/enhanced-platform-awareness/openness-sriov-multiple-interfaces.md#multus-usage | - Different network types used for testing. ICN is using the ‘bridge’ type, OPENNESS is ‘macvlan’.
| - Update ICN test case with verifying macvlan network type.
|
SRIOV CNI | - Apply the sriov-network.yaml[1].
- Check if the Ethernet adapter version is equal to "XL710".
- Create a pod[2] with the sriov annotation field and the sriov resource requested.
- Verify the the deployed pod status.
kubectl get pods $pod | awk 'NR==2{print $3}' - Check the current sriov resource allocation status[3].
[1]https://github.com/onap/multicloud-k8s/blob/9c63ce2a7b2b66b3e3fce5d1f553f327148df83f/kud/deployment_infra/playbooks/sriov-nad.yml#L1 [2]https://github.com/onap/multicloud-k8s/blob/9c63ce2a7b2b66b3e3fce5d1f553f327148df83f/kud/tests/sriov.sh#L32 [3]https://github.com/onap/multicloud-k8s/blob/9c63ce2a7b2b66b3e3fce5d1f553f327148df83f/kud/tests/sriov.sh#L68 | - Apply the sriov-network.yaml
- Create a pod with the sriov annotation field and the sriov resource requested.
- Verify the “net1” interface was configured in the deployed pod.
Link: Openness sriov usage: https://github.com/open-ness/specs/blob/master/doc/enhanced-platform-awareness/openness-sriov-multiple-interfaces.md#usage | - Beside deploying the pod with sriov interface, ICN checks the current allocated sriov resource status.
| - ICN has a more comprehensive testing and It covers openness test scope. So the ICN test case remains unchanged.
|
SRIOV NETWORK DEVICE PLUGIN |
NFD | Verify NFD by setting pod.yaml with ’affinity’ field. ... apiVersion: v1 kind: Pod metadata: name: $pod_name spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: "feature.node.kubernetes.io/kernel-version.major" operator: Gt values: - '3' containers: - name: with-node-affinity image: gcr.io/google_containers/pause:2.0 ... Link:
KUD test script: https://github.com/onap/multicloud-k8s/blob/master/kud/tests/nfd.sh | Verify NFD by setting pod.yaml with ‘nodeSelector’ field. … apiVersion: v1 kind: Pod metadata: labels: env: test name: golang-test spec: containers: - image: golang name: go1 nodeSelector: feature.node.kubernetes.io/cpu-pstate.turbo: 'true' … Link: Openness nfd usage: https://github.com/open-ness/specs/blob/master/doc/enhanced-platform-awareness/openness-node-feature-discovery.md#usage | - Node affinity is conceptually similar to nodeSelector. it allows you to constrain which nodes your pod is eligible to be scheduled on, based on labels on the node.
- Both tests are roughly the same like each other, ICN specifies ‘affinity’ to check if the NFD is effective, and OPENNESS uses the ‘nodeSelector’ field.
| - Add a check condition for label ‘feature.node.kubernetes.io/cpu-pstate.turbo: 'true'’.
|
CMK | NIL
Link: CMK official validate solution: https://github.com/intel/CPU-Manager-for-Kubernetes/blob/master/docs/operator.md#validating-the-environment Liang’s patch: https://gerrit.onap.org/r/c/multicloud/k8s/+/102311 | - Create a pod that can be used to deploy applications pinned to a core.
Link: Openness CMK usage: https://github.com/open-ness/specs/blob/master/doc/enhanced-platform-awareness/openness-dedicated-core.md#usage | - CMK’s integration is under way in ICN. So ICN doesn’t provide a test case now.
| |
Topology Manager | NIL
Link: Topology Manager limitation: https://kubernetes.io/docs/tasks/administer-cluster/topology-manager/#known-limitations | - Create a pod with guaranteed(requests equal to limits) QoS class.
- Check in kubelet's logs on you node (journalctl -xeu kubelet).
Link: Openness TM usage: https://github.com/open-ness/specs/blob/master/doc/enhanced-platform-awareness/openness-topology-manager.md#usage | - Not implement Topology Manager at ICN. So ICN doesn’t provide test case now.
| - Dependence on k8s version.
|