B Adding a Site to an Existing Deployment
This section describes the procedure to add a site to the Georedundant deployment.
Prerequisites
- NSSF connected to a cnDBTier must be up and running. This is referred as Site-1.
- NSSF version must be same across all the georedundant sites.
- cnDBTier version must be same across all the georedundant sites.
Adding a site
- 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.
- 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}]
- 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
- Update the
siteId
andnfInstanceId
of the Site-1 NSSF in theglobal.peerGRSitesList
section inocnssf_custom_values_24.1.1.yaml
before installing Site-2 NSSF:global: peerGRSitesList: - siteId: "Site-2" nfInstanceId: "6faf1bbc-6e4a-4454-a507-a14ef8e1bc5d"
- 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. - Verify the NSSF installation on Site-2 as mentioned in Verifying Installation.
- After the Site-2 NSSF is installed, update the
peerGRSitesListList
inGR sites list
of the Site-1 NSSF with the corresponding details of the Site-2 NSSF.To updateGR sites list
to setpeerGRSitesListList
, send the following request. Add the details ofsiteId
andnfInstanceId
combinations in thepeerGRSitesListList
as mentioned in the above steps:- 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"}]}'
- 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"}]}'
- On Site-1, send the following
request:
- 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.
- 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"}'
- 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"}'
- On Site-1, send the following request to enable
Georedundancy
feature:
- 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
- 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"}'
- 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/
- 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}
- Repeat step-1 to step-3 in each NSSF with with tac 100005 and 100006.