Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Add more realistic test cases for platform related micro-services

Microservice

Test cases in KUD

Test cases to be added

Multus

  1. Enable Multus AddOn support.
  2. Verify the minion interface network type
        · bridge[1]
        · ovn4nfv[2]
        · sr-iov[3]

[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#L1053
[3]https://github.com/onap/multicloud-k8s/blob/9c63ce2a7b2b66b3e3fce5d1f553f327148df83f/kud/tests/sriov.sh#L32

  1. Add more k8s-cni[1] type verification:
    · macvlan
    · ipvlan
    · 
    ptp

[1] https://github.com/containernetworking/plugins

SR-IOV CNI

  1. Enable SR-IOV cni and network device plugin AddOn support.
  2. Check VF allocated status.
    · Verify single VF allocated[1]

[1]https://github.com/onap/multicloud-k8s/blob/9c63ce2a7b2b66b3e3fce5d1f553f327148df83f/kud/tests/sriov.sh#L47

  1. Add multi-VF allocated verification
    · 
    Verify multiple VF allocated

SR-IOV  Network Device Plugin

NFD

  1. Enable NFD AddOn support.
  2. Using the "affinity"[1] field verifies If NFD is effective or not.
    ·  Using 'Gt' operator to check kernel version.

[1]https://github.com/onap/multicloud-k8s/blob/master/kud/tests/nfd.sh#L27

  1. Enhance the "affinity" verification method.
    · 
    Add different kinds of operator, e.g. In, NotIn, ExistsDoesNotExist Lt.
    · Add multiple "matchExpressions" verification.
    · Add multiple "nodeSelectorTerms" verification.
  2. Add a “nodeSelector” field to verify.

CMK

CMK is not integrated into KUD yet. 

It's going to be added the patch below:

https://gerrit.onap.org/r/c/multicloud/k8s/+/102311

Task List

  • Create Ansible scripts to create building environment, build microservices' docker images and push them to docker repository
  • Create helm charts to run microservice in ONAP4K8s

...

  • If creating one EAA for every tenant (logical cluster): micro-services on different edge clouds which are kubernetes clusters should be able to communicate with each other by registering the services to the EAA and consuming the services from the EAA on different edge clouds. For example: μs2 is stateful and needs to communicate with other μs2 on different edge clouds to synchronize the states.
  • If creating one EAA for every kubernetes cluster, EAAs need to synchronize the states because EAAs are stateful: Docker image for EAA is signed by the root CA of the kubernetes cluster where EAA will be deployed as below:
    https://github.com/open-ness/edgenode/blob/master/docker-compose.yml#L77
    This will cause the  The certs of EAAs on different edge clouds to be on different certificate chains because different EAAs’ certs are signed by different kubernetes clusters’ root CAshas different Root CA. What’s more, producing application and consuming application will get certs from EAA and those certs are signed by EAA’s cert. And this will cause the producing application and consuming application on different edge cloud can’t communicate with each other because their certs are on different certificate chains. To solve this issue, the certs of EAAs should be signed by the same orchestrator. For example, ICN DCM (Distributed Cloud Manager) can take this role:
    https://wiki.onap.org/pages/viewpage.action?pageId=76875956
    And EAA should support mounting the certs when it will be deployed and not mount the certs during building docker image.