Common Data Layer

Feature Summary and Revision History

Summary Data

Table 1. Summary Data

Applicable Product(s) or Functional Area

AMF

Applicable Platform(s)

SMI

Feature Default Setting

Enabled - Always-on

Related Documentation

Not Applicable

Revision History

Table 2. Revision History

Revision Details

Release

First introduced.

2021.04.0

Feature Description

Common Data Layer (CDL) can be deployed separately as a common datastore for AMF.

The following are the two different deployment possibilities for CDL pods:

  • CDL created locally in the same namespace as that of AMF namespace

  • CDL created in a different namespace

Architecture

AMF consists of the following layers as part of the cloud native architecture:

  • Protocol Layer—NGAP/NAS over SCTP transport and SBA over REST/HTTP transport

    Example: AMF-protocol and AMF REST-EP

  • Service Layer—Business logic of AMF functionality

    Example: AMF-service pod

  • Datastore Layer—Supports session storage

    Example: CDL

The management entities Etcd, Cache pod, and NodeMgr provide services to the Protocol Layer, Service Layer, and Datastore Layer functionalities.

The following figure explains the architecture of AMF instance with separate namespace of CDL.

Figure 1. AMF Instance Architecture

The CDL is deployed as an independent entity which acts as a session store for AMF. The AMF instance performs the following:

The CDL can be configured with slice name as AMF to store the AMF sessions. The AMF instance performs the following:

  • Provides instance ID by enhancing the existing session gRPC APIs of CDL or using session-related CDL gRPC APIs.

  • Uses the slice name as AMF for session store with CDL.

The CDL exposes the gRPC API to register or deregister notification URI. The AMF instance uses gRPC API to provide the notification URI details to CDL.

The CDL searches for the notification URI in session lookup with instance ID. If the notification URI fails, the CDL picks another URI from the list in round robin.

Feature Configuration

Configuring this feature involves the following steps:

  • CDL configuration in same namespace as AMF—This configuration provides the commands to configure CDL locally per AMF in the same namespace. For more information, refer to Configuring the CDL in same namespace as AMF.

  • CDL configuration in different namespace as AMF—To deploy CDL in different namespace, install CDL Ops Center in a separate namespace. This configuration provides the commands to configure CDL in separate namespace. For more information, refer to Configuring the CDL in different namespace as AMF.

Configuring the CDL in same namespace as AMF

The CDL in same namespace as AMF configuration must be done in AMF Ops Center.

To configure CDL in same namespace as AMF, use the following example configuration:

cdl label-config session 
   endpoint key key_value 
   endpoint value endpoint_value 
   slot map  no_of_slot_maps 
      key key_value 
      value value 
   end 
   index map map_number 
      key key_value 
      value value 
   end 
cdl logging default-log-level log_level 
cdl datastore session 
   cluster-id cluster_id 
   label-config session 
      slice-names cdl_slice_name 
      endpoint replica replica_number 
      index replica replica_number 
      index map map_number 
         index write-factor write_factor 
      end 
      slot replica replica_number 
      slot map map_number 
         slot write-factor write_factor 
      end 
   end 
end 
cdl kafka replica replica_number 
cdl kafka storage storage_value 

NOTES:

  • endpoint key key_value —Specify the key for the endpoint configuration.

  • endpoint value endpoint_value —Specify the value associated with the endpoint key.

  • slot map no_of_slot_maps —Specify the number of partitions to be created for slot. Must be an integer in the range of 1–1024.

  • key key_value —Specify the key for the slot map.

  • value value —Specify the value associated with the slot map key.

  • index map map_number —Specify the number of partitions to be created for index. Must be an integer in the range of 1–1024.

  • key key_value —Specify the key for the index map.

  • value value —Specify the value associated with the index map key.

  • cdl logging default-log-level log_level —Specify the default logging level for the system.

  • cluster-id cluster_id —Specify the the cluster ID for the datastore session.

  • slice-names cdl_slice_name —Specify the CDL slice names. cdl_slice_name must be an alphanumeric string from 1 to 16 characters in length.

  • endpoint replica replica_number —Specify the number of replicas to be created. The default value is 1. Must be an integer in the range of 1–16.

  • index replica no_of_replicas_per_map —Specify the number of replicas to be created. The default value is 2. num_replica must be an integer in the range of 1–16.

  • index write-factor write_factor —Specifythe number of copies to be written before successful response. The default value is 1. write_factor must be an integer in the range of 0–16.

  • slot replica replica_number —Specify the number of replicas to be created. The default value is 1. num_replica must be an integer in the range of 1–16.

  • slot map map_number —Specify the number of partitions in a slot. The default value is 1. num_map/shards must be an integer in the range of 1–1024.

  • slot write-factor write_factor —Specify the number of copies to be written before successful response. The default value is 1. write_factor must be an integer in the range of 0–16. Make sure that the value is lower than or equal to the number of replicas..

Configuration Example

Use the show running-config cdl command to verify the configuration. The following is an example configuration in CDL Ops Center.

cdl label-config session
 endpoint key smi.cisco.com/node-type-4
 endpoint value cdl
 slot map 1
  key   smi.cisco.com/node-type-4
  value cdl
 exit
 slot map 2
  key   smi.cisco.com/node-type-4
  value cdl
 exit
 index map 1
  key   smi.cisco.com/node-type-4
  value cdl
 exit
exit
cdl logging default-log-level error
cdl datastore session
 cluster-id   1
 label-config session
 slice-names  [ 1 ]
 endpoint replica 2
 index replica 2
 index map    1
 index write-factor 1
 slot replica 2
 slot map     2
 slot write-factor 1
 slot notification dynamic-provisioning true
exit
cdl kafka replica 3
cdl kafka storage 1

Configuring the CDL in different namespace as AMF

To configure CDL in a different namespace as AMF, use the following configuration:

cdl label-config session 
   endpoint key key_value 
   endpoint value endpoint_value 
   slot map  no_of_slot_maps 
      key key_value 
      value value 
   end 
   index map map_number 
      key key_value 
      value value 
   end 
cdl logging default-log-level log_level 
cdl datastore session 
   cluster-id cluster_id 
   label-config session 
      slice-names cdl_slice_name 
      endpoint replica replica_number 
      index replica replica_number 
      index map map_number 
         index write-factor write_factor 
      end 
      slot replica replica_number 
      slot map map_number 
         slot write-factor write_factor 
         slot notification dynamic-provisioning true 
      end 
   end 
end 
cdl kafka replica replica_number 
cdl kafka storage storage_value 

NOTES:

  • endpoint key key_value —Specify the key for the endpoint configuration.

  • endpoint value endpoint_value —Specify the value associated with the endpoint key.

  • slot map no_of_slot_maps —Specify the number of partitions to be created for slot. Must be an integer in the range of 1–1024.

  • key key_value —Specify the key for the slot map.

  • value value —Specify the value associated with the slot map key.

  • index map map_number —Specify the number of partitions to be created for index. Must be an integer in the range of 1–1024.

  • key key_value —Specify the key for the index map.

  • value value —Specify the value associated with the index map key.

  • cdl logging default-log-level log_level —Specify the default logging level for the system.

  • cluster-id cluster_id —Specify the the cluster ID for the datastore session.

  • slice-names cdl_slice_name —Specify the CDL slice names. cdl_slice_name must be an alphanumeric string from 1 to 16 characters in length.

  • endpoint replica replica_number —Specify the number of replicas to be created. The default value is 1. Must be an integer in the range of 1–16.

  • index replica no_of_replicas_per_map —Specify the number of replicas to be created. The default value is 2. num_replica must be an integer in the range of 1–16.

  • index write-factor write_factor —Specifythe number of copies to be written before successful response. The default value is 1. write_factor must be an integer in the range of 0–16.

  • slot replica replica_number —Specify the number of replicas to be created. The default value is 1. num_replica must be an integer in the range of 1–16.

  • slot map map_number —Specify the number of partitions in a slot. The default value is 1. num_map/shards must be an integer in the range of 1–1024.

  • slot write-factor write_factor —Specify the number of copies to be written before successful response. The default value is 1. write_factor must be an integer in the range of 0–16. Make sure that the value is lower than or equal to the number of replicas..

Configuration Example

Use the show running-config cdl command to verify the configuration. The following is an example configuration in CDL Ops Center.

cdl label-config session
 endpoint key smi.cisco.com/node-type-4
 endpoint value cdl
 slot map 1
  key   smi.cisco.com/node-type-4
  value cdl
 exit
 slot map 2
  key   smi.cisco.com/node-type-4
  value cdl
 exit
 index map 1
  key   smi.cisco.com/node-type-4
  value cdl
 exit
exit
cdl logging default-log-level error
cdl datastore session
 cluster-id   1
 label-config session
 slice-names  [ 1 ]
 endpoint replica 2
 index replica 2
 index map    1
 index write-factor 1
 slot replica 2
 slot map     2
 slot write-factor 1
 slot notification dynamic-provisioning true
exit
cdl kafka replica 3
cdl kafka storage 1