Pre-requisites

The prerequisites before installing Unified Data Repository are:
  • Access to OpenStack Environment: User should have access to an existing OpenStack Environment including the OpenStack Desktop. This environment is configured with appropriate resource flavors and network resources that allows its users to allocate resources to the virtual machines created via this procedure.
  • Availability of a pub key: Users must have a pub key for logging into the Bootstrap Host. This key should be placed into the customer OpenStack Environment using Import Key tab on the Launch Instance→Key Pair dialog or via the Compute→Access and Security.
  • OCUDR Software: User must install Kubernetes v1.13.3 and HELM v2.12.3. UDR consists of:
    • Helm Charts that reflect the OCUDR software version. It is a zipped tar file that you need to unzip.
    • Docker images of the micro-services that are shared as tar file. You need to untar it.
      Additional softwares that you need to install as per the requirement of the services:
      Software Version Notes
      elasticsearch 1.21.1 Needed for Logging Area
      elastic-curator 1.2.1 Needed for Logging Area
      elastic-exporter 1.1.2 Needed for Logging Area
      logs 2.0.7 Needed for Logging Area
      kibana 1.5.2 Needed for Logging Area
      grafana 2.2.0 Needed for Metrics Area
      prometheus 8.8.0 Needed for Metrics Area
      prometheus-node-exporter 1.3.0 Needed for Metrics Area
      metallb 0.8.4 Needed for External IP
      metrics-server 2.4.0 Needed for Metric Server
      tracer 0.8.3 Needed for Tracing Area

      Note:

      If you want any of the above services and its respective software is not installed in CNE, then install that software before proceeding.

      Note:

      Some of the above mentioned software(s) are updated frequently. Their later versions than those listed above should work with UDR 1.5. Some UDR features and services work differently depending on the software being used.
  • Create Database User/Group: Database administrator should create a user in MYSQL DB using MySQL NDB cluster as UDR uses an NDB MySQL database to store the subscriber information. NDB MySQL database provides HA and geo-redundancy capabilities.
    The database administrator should also provide user with necessary permissions to access the tables in the NDB cluster. The steps to create a user and assign permissions are as follows:
    1. Login to the server where the ssh keys are stored and SQL nodes are accessible.
    2. Connect to the SQL nodes.
    3. Login to the Database as a root user.
    4. Create a user and assign it to a group having necessary permission to access the tables on all the SQL nodes:
      CREATE USER '<username>'@'%' IDENTIFIED BY
      '<password>';
      DROP DATABASE if exists <db_name>;
      CREATE DATABASE <db_name> CHARACTER SET utf8;
      GRANT SELECT, INSERT, CREATE, ALTER, DROP, LOCK TABLES, CREATE
      TEMPORARY TABLES, DELETE, UPDATE,EXECUTE ON <db_name>.* TO
      '<username>'@'%';
      USE <db_name>;
  • Network Access: The Kubernetes cluster hosts must have network access to:
    • Local docker image repository where the Oracle Communications Unified Data Repository images are available

      To check if the Kubernetes cluster hosts has network access to the local docker image repository, try to pull any image with tag name to check connectivity by executing:

      docker pull <docker-repo>/<image-name>:<image-tag>

    • Local helm repository where the Oracle Communications Unified Data Repository helm charts are available

      To check if the Kubernetes cluster hosts has network access to the local helm repository, execute:

      helm repo update

      Note:

      Some of the systems may need to use helm command with

      helm --kubeconfig admin.conf

      Note:

      All the kubectl and helm commands (used in this document) must be executed on a system depending on the infrastructure of the deployment. It may be some client machine (virtual machine, server, local desktop and so on).
  • Laptop/Desktop Client Software: A laptop/desktop where the user executes deployment commands should have:

    helm repo update

    • Network access to the helm repository and docker image repository
    • Configuration of Helm repository on the client
    • Network access to the Kubernetes cluster
    • Necessary environment settings to run the kubectl commands. The environment should have privileges to create namespace in the Kubernetes cluster.
    • Helm client installed with the push plugin. The environment should be configured so that the 'helm install' command deploys the software in the Kubernetes cluster.

    Note:

    All the kubectl and helm commands (used in this document) must be executed on a system depending on the infrastructure of the deployment. It may be some client machine (virtual machine, server, local desktop and so on).