Generic Checklist
- Execute the following command to check the installation of
kubectl.
If Kubectl is not installed, you can visit https://kubernetes.io/docs/tasks/tools/install-kubectl/$ kubectl
- Execute the following command to check the installation of
helm.
If helm is not installed, execute the following set of commands one after another to install helm:$ helm ls
curl -o /tmp/helm.tgz https://storage.googleapis.com/kubernetes-helm/helm-v2.9.1-linux-amd64.tar.gz.
Replace with appropriate http link.tar -xzvf /tmp/helm.tgz -C /usr/local/bin --strip-components=1 linux-amd64/helmrm -f /tmp/helm.tgz
kubectl create serviceaccount --namespace kube-system tiller
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
helm init --service-account tiller
kubectl get po -n kube-system
# Wait for tiller pod to be uphelm ls
# Does not return an error. Try again if returns an error as tiller pod may be coming up.helm install
. If this command fails immediately with syntax error, check the syntax and values in the values.yaml file. [If values.yaml file is used in helm install command, else contact the UDR development team.]
- Execute the following command to check the installation of
UDR.
$ kubectl get pods -n <ocudr-namespace>
Figure 5-1 Sample Output: UDR Pods Status
In the figure given above, the STATUS of all the pods is 'Running'.
- Execute the following command to view all the events related
to a particular namespace.
kubectl get events -n <ocudr-namespace>
- Verify UDR Pods: Execute the following command to verify
whether UDR specific pods are working as expected:
$ kubectl get pods -n <ocudr-namespace>
Figure 5-2 Sample Output: UDR Pods Status
In the figure given above, you can see that the status of all the pods is 'Running'.
Note:
The number of pods for each service depends on helm configuration. In addition, all pods should be in ready state and you need to ensure that there are no continuous restarts. - Verify Database Connectivity: After verifying UDR pods, login
to NDB cluster and verify the creation of udrdb with all the tables. To check
the entries in the database tables, you need to execute following command:
It ensures that the connection is fine and the database is created successfully. This count differs based on the udrServices option selected under global section in values. But this table cannot be empty.select count(*) from RESOURCE_MAP
Figure 5-3 Sample Output: Verifying Table Entries in Database
- Verify Subscribers: To verify UDR subscribers, you need to
verify the provisioning flow on UDR. You can use the following provisioning URL
supported on UDR to verify the provisioning flow:
- If you use external tools like postman and http2 curl, then
follow this URL:
In case of curl, the client should support a http2 curl utility.http://<ocudr-ingress-gateway-ip>:<http-external-port>/nudr-dr-prov/v1/profile-data/msisdn-1111111113
- If https is enabled in UDR ingress gateway, then follow
this URL:
https://<ocudr-ingress-gateway-ip>:<https-external-port>/nudr-dr-prov/v1/profile-data/msisdn-1111111113
Verifying provisioning flow on UDR also confirms udrdb status on the NDB cluster.
- If you use external tools like postman and http2 curl, then
follow this URL:
- Verify Logs: Check the logs of nudr-nrf-client-service for no 503 errors. This helps to find out if all the fqdn configured, as part of helm configurations, in values are resolvable.
- Verify NRF registration: Once the deployment has passed the above checks, verify the udr_nrf_registration_success_total metric on prometheus after couple of minutes of UDR deployment.