Generic Checklist

The following generic checklist helps you to ensure that your system is configured properly and there is no issue with basic system setup:
  • Execute the following command to check the installation of kubectl.

    $ kubectl

    If Kubectl is not installed, you can visit https://kubernetes.io/docs/tasks/tools/install-kubectl/
  • Execute the following command to check the installation of helm.

    $ helm ls

    If helm is not installed, execute the following set of commands one after another to install helm:
    1. curl -o /tmp/helm.tgz https://storage.googleapis.com/kubernetes-helm/helm-v2.9.1-linux-amd64.tar.gz. Replace with appropriate http link.
    2. tar -xzvf /tmp/helm.tgz -C /usr/local/bin --strip-components=1 linux-amd64/helmrm -f /tmp/helm.tgz
    3. kubectl create serviceaccount --namespace kube-system tiller
    4. kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
    5. helm init --service-account tiller
    6. kubectl get po -n kube-system # Wait for tiller pod to be up
    7. helm ls # Does not return an error. Try again if returns an error as tiller pod may be coming up.
    8. 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

    img/verifying-udr-installation.png

    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

    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:

    select count(*) from RESOURCE_MAP

    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.

    Figure 5-3 Sample Output: Verifying Table Entries in Database

    img/sample-output-verify-table-entries.png
  • 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:

      http://<ocudr-ingress-gateway-ip>:<http-external-port>/nudr-dr-prov/v1/profile-data/msisdn-1111111113

      In case of curl, the client should support a http2 curl utility.
    • 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.

  • 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.