B Adding a Site to an Existing Deployment

This section describes the procedure to add a site to the Georedundant deployment.

Prerequisites

  1. NSSF connected to a cnDBTier must be up and running. This is referred as Site-1.
  2. NSSF version must be same across all the georedundant sites.
  3. cnDBTier version must be same across all the georedundant sites.

Adding a site

  1. Add a cnDBTier cluster. This cnDBTier must act as a georedundant database to the cnDBTier in Site-1. For more information to install a cnDBTier, see Oracle Communications Cloud Native Core, DBTier User Guide.
  2. Verify the replication channel between the cnDBTiers by sending the following request to the dbMonitor service of both the sites. The responses from both the cnDBTier sites must show the status of replication channel as up:
    curl http://<mysql-db-monitor-service>:8080/db-tier/status/replication/realtime
    Sample command:
    curl http://mysql-cluster-db-monitor-svc:8080/db-tier/status/replication/realtime
    Sample output:
    [{"localSiteName":"Site-1","remoteSiteName":"Site-2","replicationStatus":"UP","secondsBehindRemote": 0}]
  3. Create the required secrets to install the Site-2 NSSF in the same namespace as the new cnDBTier installed in step-1, by following the steps described in Configuring Kubernetes Secret for Accessing Database. Run the following command to verify the secret created:
    $ kubectl describe secret <database secret name> -n <Namespace of NSSF deployment>
    
    Sample output:
    kubectl describe secret privileged-db-creds -n ocnssf
    Name:         privileged-db-creds
    Namespace:    ocnssf
    Labels:       <none>
    Annotations:  <none>
    
    Type:  Opaque
    
    Data
    ====
    mysql-username:  17 bytes
    mysql-password:  10 bytes
    
  4. Update the siteId and nfInstanceId of the Site-1 NSSF in the global.peerGRSitesList section in ocnssf_custom_values_24.1.1.yaml before installing Site-2 NSSF:
    global:
      peerGRSitesList:
      - siteId: "Site-2"
        nfInstanceId: "6faf1bbc-6e4a-4454-a507-a14ef8e1bc5d"
  5. Install NSSF on Site-2 using the updated ocnssf_custom_values_24.1.1.yaml file using the same namespace as the new cnDBTie added in step-1, by following the steps described in Installing NSSF.
  6. Verify the NSSF installation on Site-2 as mentioned in Verifying Installation.
  7. After the Site-2 NSSF is installed, update the peerGRSitesListList in GR sites list of the Site-1 NSSF with the corresponding details of the Site-2 NSSF.
    To update GR sites list to set peerGRSitesListList, send the following request. Add the details of siteId and nfInstanceId combinations in the peerGRSitesListList as mentioned in the above steps:
    1. On Site-1, send the following request:
      curl http://ocnssf-nssfconfiguration:8080/nssf-configuration/v1/GR sites list -X PUT -H 'Content-Type:application/json' -d '{"peerGRSitesListList":[{"siteId":"Site-2","nfInstanceId":"6faf1bbc-6e4a-4454-a507-a14ef8e1bc5d"}]}'
      
    2. On Site-2, send the following request:
      curl http://ocnssf-1-nssfconfiguration:8080/nssf-configuration/v1/GR sites list -X PUT -H 'Content-Type:application/json' -d '{"peerGRSitesListList":[{"siteId":"Site-1","nfInstanceId":"6faf1bbc-6e4a-4454-a507-a14ef8e1bc5c"}]}'
  8. Run the following commands to enable Georedundancy feature on both the NSSFs. Verify if georedundancy is working by following the Verifying Georedundancy Between Sites section.
    1. On Site-1, send the following request to enable Georedundancy feature:
      curl http://ocnssf-nssfconfiguration:8080/nssf-configuration/v1/GR sites list -X PUT -H 'Content-Type:application/json' -d '{"featureStatus":"ENABLED"}'
    2. On Site-2, send the following request to enable Georedundancy feature:
      curl http://ocnssf-1-nssfconfiguration:8080/nssf-configuration/v1/GR sites list -X PUT -H 'Content-Type:application/json' -d '{"featureStatus":"ENABLED"}'
  9. After the installation is complete, make sure that the "OcnssfDbReplicationStatusInactive" alert is not raised in the alert dashboard. If the alert exist, verify the above configuration steps. If alert is not present, it means the DBReplication is up and the multisite georedundant setup of Site-1 and Site-2 is successful.

Note:

To add more sites, repeat the above steps on the new site. Ensure that Step 6 to Step 9 is performed on the new site to establish georedundancy between all the sites.

Verifying Georedundancy between sites

  1. Send the following PUT request from Site-1 NSSF:
    curl -i --http2-prior-knowledge -X PUT "http://172.16.13.11:32533/nnssf-nssaiavailability/v1/nssai-availability/a89c105d-11ed-4690-9f6b-738b42c66ee2" -H 'Content-Type: application/json' --data-raw '{"supportedFeatures": "1","supportedNssaiAvailabilityData": [{"tai": {"plmnId": {"mcc": "100","mnc": "101"},"tac": "100004"},"supportedSnssaiList": [{"sd": "EABB01","sst": 1}],"amfSetId": "100-101-01-102"}'
    
  2. Send a following GET request from other GR sites, for example Site-2:
    curl -i --http2-prior-knowledge -X GET http://172.16.13.11:32533/nnssf-configuration/v1/nssrules/
  3. Verify that the GET request returns the following:
    • Rule with TAI- tai": {"plmnId": {"mcc": "100","mnc": "101"},"tac": "100004"}
    • Supporting SNSSAI- [{"sd": "EABB01","sst": 1}
  4. Repeat step-1 to step-3 in each NSSF with with tac 100005 and 100006.