Basic Functional Test (REC-31)

[REC-36] DNS Server check Created: 26/Aug/19  Updated: 22/Oct/19

Status: In Progress
Project: Radio Edge Cloud
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Sub-task Priority: Medium
Reporter: Deepak Kataria Assignee: Naga Sugguna
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
  1. DNS should provide DNS for External Name Services
  2. DNS should provide DNS for PODs for internal host names and sub-domains
  3. DNS should provide DNS for Services
  4. DNS should provide DNS for cluster


 Comments   
Comment by Naga Sugguna [ 22/Oct/19 ]

https://gerrit.akraino.org/r/c/ta/cloudtaf/+/1809/2/testcases/basic_func_tests/tc_005_ssh_dns_server_check.py

Comment by Deepak Kataria [ 15/Oct/19 ]

Naga committed code to-day (10/15/19), it is under review

Comment by Deepak Kataria [ 14/Oct/19 ]

Naga removed the dependency on external static yaml files and images. He created a common ROBOT library to create busy box and NGNIX PODs. He is yet to commit code, since aknode82 is down,

Comment by Deepak Kataria [ 11/Oct/19 ]

Naga is working on this and will commit code today

Comment by Deepak Kataria [ 10/Oct/19 ]

Naga did not have a time to work on this to-day.

Comment by Deepak Kataria [ 09/Oct/19 ]

Krisztian gave -1, Naga is looking into this.

Comment by Deepak Kataria [ 09/Oct/19 ]

Naga is waiting for review on gerrit commit 1489.

Comment by Deepak Kataria [ 08/Oct/19 ]

This item is pending review.

Comment by Deepak Kataria [ 04/Oct/19 ]

This is still under review

Comment by Deepak Kataria [ 03/Oct/19 ]

KINKWAN will review this

Comment by Deepak Kataria [ 02/Oct/19 ]

Naga is waiting for review.

Comment by Deepak Kataria [ 01/Oct/19 ]

This was completed, code committed and is under review

Comment by Naga Sugguna [ 27/Sep/19 ]

Ingress is completely different from DNS. So will test ingress in different story but here we verify only DNS. Here are the manual steps to do DNS verification
This is prepared based on k8s documentation available at https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/

kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80
curl nginx.default.svc.rec.io
it should have <h1>Welcome to nginx!</h1>

Comment by Naga Sugguna [ 26/Sep/19 ]

Traefik Ingress Controller is manually verified and found its working fine.
Hare are the steps followed

wget https://raw.githubusercontent.com/containous/traefik/v1.7/examples/k8s/traefik-rbac.yaml
kubectl create -f traefik-rbac.yaml
wget https://raw.githubusercontent.com/containous/traefik/v1.7/examples/k8s/traefik-ds.yaml
kubectl create -f traefik-ds.yaml
kubectl create -f https://gist.githubusercontent.com/geraldcroes/19873ea100eeea907624cb3e157e17b5/raw/78adfaca8d6a84304f560cb147ee9a6cb6df9c14/whoami-deployment.yml
kubectl create -f https://gist.githubusercontent.com/geraldcroes/36de6ce6a027ac574bff8ef169f34fed/raw/085d63bef1e763e4d6e4b94251aa1762bf9c8061/whoami-service.yml
kubectl create -f https://gist.githubusercontent.com/geraldcroes/5758d32f2074bee94940fe4a4d2f2880/raw/31d184c0870055fbc7be17228a96c9bfa10ba638/whoami-ingress.yml
curl -H "Host: whoami.localhost" 10.244.2.35:80
kubectl create -f https://gist.githubusercontent.com/geraldcroes/98253cce7bed32ae864a35a40af3bd41/raw/660c724c16aff07cf00d8fda689c11302142f384/whoareyou.yml
curl -H "Host: whoareyou.localhost" 10.254.224.181

Comment by Deepak Kataria [ 26/Sep/19 ]

Naga will try with Traefik Ingress Controller today.

Comment by Deepak Kataria [ 25/Sep/19 ]

Naga is still  exploring installing NGINX Ingress Controller, which is not working. Naga is trying with Traefik Ingress Controller.

Comment by Naga Sugguna [ 19/Sep/19 ]

To test ingress ingress controller should be already there on cluster but its not there. I tried to add ingress controller by following NGINX Ingress Controller but its failing while verification. Due to there is no ingress controller running, and con't test ingress as of now. Looking into this issue further.

Comment by Deepak Kataria [ 19/Sep/19 ]

Naga is trying to figure out manual tests to execute

Comment by Deepak Kataria [ 17/Sep/19 ]

No update on this.

Comment by Deepak Kataria [ 16/Sep/19 ]

Naga did not have a chance to work on this.

Comment by Deepak Kataria [ 13/Sep/19 ]

Naga did not get a chance to work on this.

Comment by Deepak Kataria [ 05/Sep/19 ]

Naga did not get a chance to work on this yet.

Comment by Deepak Kataria [ 04/Sep/19 ]

Naga will work to address the review comments and update tests accordingly

Comment by Levente Kálé [ 04/Sep/19 ]

as commented on Gerrit: IMO the test shouldn't blindly assume the presence of optional features, such as 1: availability of external connectivity from the test Pod without explicitly setting it up 2: availability of upstream DNS server

in fact, configuring and validating upstream DNS server should be an explicitly tested step. i.e. upstream DNS resolve should not work when an upstream DNS server is not configured, and vica-versa

Comment by Deepak Kataria [ 03/Sep/19 ]

Naga is addressing -1 review comments from Paul Carver and Levente Kale.

Comment by Deepak Kataria [ 29/Aug/19 ]

Naga has tested this manually and will work on ROBOT test integration next. Targeting to complete ROBOT integration and committing code to Gerrit by to-morrow.

Comment by Naga Sugguna [ 29/Aug/19 ]

DNS Server manually checked on OE2 cluster. OE1 cluster is not working due to cluster issues. Here are the step followed to verify DNS Server is working as expected

$ kubectl apply -f https://k8s.io/examples/application/deployment.yaml
$ kubectl expose deployment nginx-deployment
$ kubectl get svc
$ curl 10.254.2.52
$ kubectl exec -it nginx-deployment-5754944d6c-zsnb6 – cat /etc/resolv.conf

    1. output ##
      nameserver 10.254.0.254
      search default.svc.rec.io svc.rec.io rec.io
      options ndots:5

$ kubectl exec -it nginx-deployment-5754944d6c-zsnb6 – ping google.com

Comment by Deepak Kataria [ 27/Aug/19 ]

Naga has completed manual testing on aknode30 (REC). Latest image is on OE1/OE2, Naga will do manual testing on this cluster, Working on ROBOT automation. Will test and commit code by to-morrow (8/28). Manually created service and will access it from kube-dns.

Generated at Sat Feb 10 06:04:35 UTC 2024 using Jira 9.4.5#940005-sha1:e3094934eac4fd8653cf39da58f39364fb9cc7c1.