SCP Configuration Parameters

Table A-1 provides list of configuration parameters in the Helm file. Refer to OCSCP YAML File for a sample file.

Table A-1 SCP Configuration Parameters

Attribute Name DataType Range Default Value Mandatory(M)/Optional(O)/Conditional(C) User can change? Description
Global: Configuration used by all the micro services
domain
<string> 
				
Labels can be letter a-z, number 0-9, hyphen(-). Hyphen cannot be first character. Label combined with dot(.) forms domain svc.cluster.local M Y Option to configure the Service Domain of the K8 cluster.
clusterDomain
<string>
Labels can be letter a-z, number 0-9, hyphen(-). Hyphen cannot be first character. Label combined with dot(.) forms domain cluster.local M Y Option to configure the Domain of the K8 cluster. Ideally it is domain attribute value by removing "svc."
publicSignalingIPSpecified
<boolean> 
				
true/false false O Y Option to enable/disable Loadbalancer IP configuration statically for Signaling interface.
publicSignalingIP
<IPv4 Address>
Valid IPV4 address as per RFC 791 N/A C Y Option to configure static Signaling Loadbalancer IP. Configured value will be used only if signalingloadbalanceripenabled is configured as "true"
publicSignalingPort
<integer>
Min- 0 , Max-65535 8000 M Y Option to configure Signaling Port
adminport
<integer> 
				
Min- 0 , Max-65535 8001 M Y Option to configure Admin Port (used for debugging purpose)
scpInfo SCP Profile that will be used while Registering current SCP instance with NRF
fqdn: <string> 
				
Labels can be letter a-z, number 0-9, hyphen(-). Hyphen cannot be first character. Label combined with dot(.) forms domain N/A M Y Fully Qualified Domain Name of SCP
 nfType: <string> 
				
NA CUSTOM_ORACLE_SCP M Y
nfStatus: <string> 
				
NA REGISTERED M N Status of current SCP Instance
locality: <string> 
				
As per 3GPP TS 29.510 spec N/A M Y Locality of the current SCP Instance (e.g. geographic location, data center). Same locality must be present in ServingLocalities also.
customInfo:
  mateScpInfo:
    capacity: <integer>
    priority: <integer>
    mateSCPLocalities:
    - <string>
  servingLocalities:
  - <string>
  remainingLocalities:
  - <string>
capacity: Min = 0, Max = 65535,

Priority: Min = 0, Max = 65535.

Localities: As per 3GPP TS 29.510 spec

N/A M Y capacity: Static capacity information in the range of 0-65535, expressed as a weight relative to other SCP instances of the same type.

priority: Priority (relative to other SCPs) in the range of 0-65535, to be used for NF selection; lower values indicate a higher priority.

mateSCPLocalities: List of serving localities of the Mate SCP(s)

servingLocalities: List of serving localities of the current SCP (apart from the locality in present in "locality" attribute)

remainingLocalities: List of localities which will be served by current SCP but are not part of mateSCPLocalities and servingLocalities

nfInstanceId: string 
				
String uniquely identifying a NF instance. The format of the NF Instance ID shall be a Universally Unique Identifier (UUID) version 4, as described in IETF RFC 4122 [15]. N/A M Y String uniquely identifying current SCP instance. The format of the Instance ID shall be a Universally Unique Identifier (UUID) version 4, as described in IETF RFC 4122.
auditNFList List of strings. (example in description) Valid 5g NF Type as per 3GPP TS 29.510.
  1. Only subset of nfType present in nrfDetails will be considered for audit.
  2. []

    i.e. Blank, which means consider all supported NF Types.

  3. If not provided, all supported NF Types will be considered for audit.
O Y List of NF's for which audit is triggered. (Applicable when nrfServiceForAudit is set to nnrf-disc)

Format Example: auditNFList:

- UDM

- PCF

- UDR

nrfDetails List of NRFs to which the current SCP instance will subscribe for notifications
 nfType: [<string>,<string>]
Valid 5g NF Type as per 3GPP TS 29.510. [] i.e. Blank, which means subscribe for all supported NF Types. M Y List of NF Types for which the current SCP instance will subscribe for notifications
nrfManagement:
      fqdn: <string>
        port: '<integer>'
        scheme: HTTP2
        priority: <integer> 
        capacity: <integer>
		      apiPrefix: <string>
        ipEndPoints:
          - ipv4Address: <IPv4 Address>
            transport: TCP 
            port: <integer>
fqdn: Labels can be letter a-z, number 0-9, hyphen(-). Hyphen cannot be first character. Label combined with dot(.) forms domain.

port: 0 to 65535

priority: 0 to 65535

capacity: 0 to 65535

apiPrefix: Can be combination of letters from a-z and A-Z

N/A M Y fqdn: Fully Qualified Domain Name of NRF

port: NRF Management Service Port

scheme: Always HTTP2

priority: Priority of the NRF among the NRF List. It is used for load balancing between the NRFs.

capacity: Capacity of the NRF among the NRF List. It is used for load balancing between the NRFs.

apiPrefix: Location of NRF. User needs to configure it (or remove it) based on the APIPrefix supported (or not Supported) by NRF.

ipEndPoints: List of IPv4 Address, transport and port combination of the given NRF

nrfDiscovery:
      fqdn: <string>
        port: '<integer>'
        scheme: HTTP2
        priority: <integer> 
        capacity: <integer>
		      apiPrefix: <string>
        ipEndPoints:
          - ipv4Address: <IPv4 Address>
            transport: TCP 
            port: <integer>
fqdn: Labels can be letter a-z, number 0-9, hyphen(-). Hyphen cannot be first character. Label combined with dot(.) forms domain.

port: 0 to 65535

priority: 0 to 65535

capacity: 0 to 65535

apiPrefix: Can be combination of letters from a-z and A-Z

N/A M Y fqdn: Fully Qualified Domain Name of NRF

port: NRF Management Service Port

scheme: Always HTTP2

priority: Priority of the NRF among the NRF List. It is used for load balancing between the NRFs.

capacity: Capacity of the NRF among the NRF List. It is used for load balancing between the NRFs.

apiPrefix: Location of NRF. User needs to configure it (or remove it) based on the APIPrefix supported (or not Supported) by NRF.

ipEndPoints: List of IPv4 Address, transport and port combination of the given NRF

nfServiceGroup This table is used to hold the information needed when deploymentModel is set to 'Regional'.
nfType: <string>
Name of the NF (ex: CHF) CHF M Y Name of the 5G NF (ex: CHF) for which information is provided. It should be same as 5G NF for which deploymentModel is set to 'Regional'.
serviceName: <string>
Name of the service (ex: nchf-convergedcharging) M Y Name of the service for which information is provided. Service should be of 5G NF for which deploymentModel is set to 'Regional'.
 primaryLocalities: (List of localities)
  - <string>
  - <string>
List of primary localities that this NF and service support

nchf-convergedcharging /

nchf-spendinglimitcontrol

M Y List of primary localities that this NF and service supports.
secondaryLocalities: (List of localities)
  - <string>
  - <string>
List of secondary localities that this NF and service support O Y List of secondary localities that this NF and service supports.
subsequentRequestRoutePolicy:
    routePolicy: <Routepolicy> 
    reroutePolicy:
      rerouteOptions: <ReroutOptions>

routePolicy: Forward_Proxy

reroutePolicy: RerouteWithinRegion

M Y It is used to provide the information on route policy for Subsequent requests.
scpc-soothsayer: Configuration specific to Soothsayer Micro Service
configuration docker Image details for Configuration container of scpc-soothsayer
imageDetails:
      image: <docker repository>/soothsayer-configuration
      tag: <string>
      pullPolicy: Always

image: Name components may contain lowercase letters, digits and separators. A separator is defined as a period, one or two underscores, or one or more dashes. A name component may not start or end with a separator

Tag: valid ASCII and may contain lowercase and uppercase letters, digits, underscores, periods and dashes. A tag name may not start with a period or a dash and may contain a maximum of 128 characters

N/A M Y repository: docker repository that contains Configuration container

imagetag: Image Tag to be used for Configuration container

pullPolicy: Image pull policy.

resources: Used to provide the memory and cpu details

serviceName: tags the service details.

resources:
      memory: 1Gi
      cpu: 0.5
NA memory: 1Gi

cpu: 0.5

M N

memory: Requested memory (RAM) for configuration container in soothsayer micro-service in Giga Bytes.

cpu: Max allocated vCPU for configuration container in soothsayer micro-service

serviceName: scpc-configuration
NA scpc-configuration M Y
logLevel: INFO
{TRACE, DEBUG, INFO, WARN, ERROR} INFO O Y Enable desired level of logging for the service
defaultLocalityToScp
<boolean> 
				
true/false true O Y Flag used to determine whether to consider a NF in SCP locality or outside of SCP Locality(or serving localities) in case locality information is absent in a notified NFProfile. If flag is set to true then any NFProfile received without Locality information will be considered as its in SCP's locality
nrfServiceForAudit
nrfServiceForAudit: <string> 
				

Supported service options are:

1. nnrf-nfm

2. nnrf-disc

nnrf-nfm M Y

Configure Service to get profile from NRF. Possible values are

1. nnrf-nfm

2. nnrf-disc

User must have to use nnrf-nfm if interplmnfqdn is part of profile

subscription docker Image details for Subscription container of scpc-soothsayer
imageDetails:
      image: <docker repository>/soothsayer-subscription
      tag: <string>
      pullPolicy: Always

image: Name components may contain lowercase letters, digits and separators. A separator is defined as a period, one or two underscores, or one or more dashes. A name component may not start or end with a separator

Tag: valid ASCII and may contain lowercase and uppercase letters, digits, underscores, periods and dashes. A tag name may not start with a period or a dash and may contain a maximum of 128 characters

N/A M Y repository: docker repository that contains Subscription container image

tag: Image Tag to be used for Subscription container

pullPolicy: Image pull policy.

resources:
      memory: 1Gi
      cpu: 1
NA memory: 1Gi

cpu: 1

M N

memory: Requested memory (RAM) for configuration container in soothsayer micro-service in Giga Bytes.

cpu: Max allocated vCPU for configuration container in soothsayer micro-service

serviceName: scpc-subscription
NA scpc-subscription M Y
retryInterval: 120Min: 1 Max: 2147483647 (in Seconds)
Min: 1 Max: 2147483647 (in Seconds) 120 O Y Parameter used to set subscription interval and registration interval retry in case first registration and subscriptions are unsuccessful.
logLevel: INFO
{TRACE, DEBUG, INFO, WARN, ERROR} INFO O Y Enable desired level of logging for the service
registerScpWithNrf: true
true/false true M Y Used to Enable/Disable SCP registration with NRF. If set False SCP will not do registration with NRF.
notification docker Image details for Notification container of scpc-soothsayer
imageDetails:
      image: <docker repository>/soothsayer-notification
      tag: <string>
      pullPolicy: Always

image: Name components may contain lowercase letters, digits and separators. A separator is defined as a period, one or two underscores, or one or more dashes. A name component may not start or end with a separator

Tag: valid ASCII and may contain lowercase and uppercase letters, digits, underscores, periods and dashes. A tag name may not start with a period or a dash and may contain a maximum of 128 characters

N/A M Y repository: docker repository that contains Notification container image

tag: Image Tag to be used for Notification container

pullPolicy: Image pull policy.

resources:
      memory: 4Gi
      cpu: 3
NA memory: 4Gi

cpu: 3

M Y

memory: Requested memory (RAM) for notification container in soothsayer micro-service in Giga Bytes.

cpu: Max allocated vCPU for notification container in soothsayer micro-service

serviceName: scpc-notification
NA scpc-notification M Y
logLevel: INFO
{TRACE, DEBUG, INFO, WARN, ERROR} INFO O Y Enable desired level of logging for the service
audit docker Image details for Audit container of scpc-soothsayer
imageDetails:
      image: <docker repository>/soothsayer-audit
      tag: <string>
      pullPolicy: Always

image: Name components may contain lowercase letters, digits and separators. A separator is defined as a period, one or two underscores, or one or more dashes. A name component may not start or end with a separator

Tag: valid ASCII and may contain lowercase and uppercase letters, digits, underscores, periods and dashes. A tag name may not start with a period or a dash and may contain a maximum of 128 characters

N/A M Y repository: docker repository that contains Audit container image

tag: Image Tag to be used for Audit container

pullPolicy: Image pull policy.

resources: Used to provide the memory and cpu details

serviceName: tags the service details.

resources:
      memory: 1Gi
      cpu: 1
NA memory: 1Gi

cpu: 1

M Y

memory: Requested memory (RAM) for audit container in soothsayer micro-service in Giga Bytes.

cpu: Max allocated vCPU for audit container in soothsayer micro-service

serviceName: scpc-audit
NA scpc-audit M Y
auditInterval: 120
Min: 1 Max: 2147483647 120 M Y auditInterval: Time interval in seconds that user want to configure
logLevel: INFO
{TRACE, DEBUG, INFO, WARN, ERROR} INFO O Y Enable desired level of logging for the service
configService Configuration related to Configuration container
publicConfigIPSpecified: <boolean>
true/false false O Y Option to enable/disable Loadbalancer IP configuration statically for OAM interface.
 publicConfigIP: <IPv4 Address> 
				
Valid IPV4 address as per RFC 791 N/A C Y Option to configure static Loadbalancer IP. Configured value will be used only if oamloadbalanceripenabled is configured as "true"
staticnodeportenabled: <boolean>
true/false false O Y Option to enable/disable configuring static Node Port for OAM interface
 nodeport: <integer> 
				
As per kubernetes cluster , by default is 30000 to 32767 30002 C Y Option to configure static Node Port for OAM interface. Configured value will be used only if staticnodeportenabledis configured as "true"
 configServiceNetworkNameEnabled: <boolean> 
				
true/false false O Y Option to enable/disable metalLB IP allocation dynamically from the pool for OAM interface.
configServiceNetworkName:
				  metallb.universe.tf/address-pool:<string> 
				
alpha-numeric oam C Y Annotation to notify metalLB to allocate a IP for OAM interface of SCP. The annotation will be added only if configServiceNetworkName is configured as "true". <TODO> Need few more updates after testing.
reverseProxyEnabled
<boolean>
true/false true M Y If enabled then for all the NFs which support reverseProxy, Reverse proxy (reverseProxySupport = true) will get enabled by default. In case user wants to turn it off after deployment, then use the APIs provided to reconfigure reverseProxySupport option.

Note: This flag will set reverseProxy flag as True but other requirements of setting DbSync as Site and RoutingPolicy as Load balance needs to be done by User

scp-worker: Configuration specific to Worker Micro Service
image docker image details for scp-worker micro service
image: <docker repository>/scp-worker
image: Name components may contain lowercase letters, digits and separators. A separator is defined as a period, one or two underscores, or one or more dashes. A name component may not start or end with a separator N/A M Y docker repository that contains scp-worker micro service image
tag: <string>
Tag: valid ASCII and may contain lowercase and uppercase letters, digits, underscores, periods and dashes. A tag name may not start with a period or a dash and may contain a maximum of 128 characters N/A M Y Image Tag to be used for scp-worker micro service
pullPolicy: Always
Always O Y Image pull policy.
jaeger Jaeger service configuration
address: <fqdn> 
				
Labels can be letter a-z, number 0-9, hyphen(-). Hyphen cannot be first character. Label combined with dot(.) forms domain N/A M Y Option to Configure Jaeger Collector FQDN
port_value: <integer>
Min: 0 Max: 65535 N/A M Y Option to Configure Jaeger Collector Port
tracingenable
<boolean>
true/false true O Y Option to enable/disable Jaeger tracing.
admin
 enablejaegerbody: <boolean> 
				
true/false false O Y Option to enable/disable tracing for full body of all Request/Response messages. The configuration will be added only if tracingenable is configured as "true".
 retrytimeoutvalue: <integer> 
				
min: 1

max: 3600

5 O Y Option to configure time to wait (in seconds) before making new requests to the a upstream cluster after receiving 503 or 429 response code. This value will only be used if 'retry-after' header is not present in response.
service
port: staticnodeportenabled: <boolean>
true/false false O Y Option to enable/disable configuring static Node Port for Signaling interface
 nodeport: <integer> 
				
As per kubernetes cluster , by default is 30000 to 32767 30001 C Y Option to configure static Node Port for Signaling interface . Configured value will be used only if staticnodeportenabled configured as "true"
 networkNameEnabled: <boolean> 
				
true/false false O Y Option to enable/disable metalLB IP allocation dynamically from the pool for Signaling interface.
networkName:
				  metallb.universe.tf/address-pool:<string> 
				
alpha-numeric signaling C Y Annotation to notify metalLB to allocate a IP for Signaling interface of SCP. The annotation will be added only if networkNameEnabled is configured as "true". <TODO> Need few more updates after testing.
loglevel
<string> 
				
trace/debug/info/warning warning O Y Option to increase/decrease Logging level of scp-worker micro-service.
prometheus
scrape: <boolean> 
				
true/false true O Y Option to enable/disable Prometheus metrics scraping
resources Initial requested Resource quota for scp-worker micro-service
memory: 4096Mi 
				
NA 4096Mi M N Requested memory (RAM) for scp-worker micro-service in Mega Bytes
cpu: 4000m 
				
NA 4000m M N Requested CPU for scp-worker micro-service in milliCPU
limits Max allocated Resource quota for scp-worker micro-service
 memory: 4Gi 
				
NA 4Gi M N Max allocated memory (RAM) for scp-worker micro-service in Mega Bytes
 cpu: 4 
				
NA 4 M N Max allocated CPU for scp-worker micro-service in milliCPU
minreplicas
 <integer> 
				
NA 2 M N Minimum replica count of scp-worker micro-service
maxreplicas
 <integer> 
				
Min: 2 Max: 32 32 M Y Maximum replica count of scp-worker micro-service
heapoverloadcontrol: SCP memory overload control configuration
refresh_interval:
  seconds: 0
  nanos: 250000000
NA N/A O N Refresh Interval (250 milliseconds) to check memory Overload condition
resource_monitors:
  max_heap_size_bytes: 4294967296 
NA N/A O N Max Configured Heap Size for scp-worker micro-service (4GB)
 actions: stop_accepting_requests: <%age in decimal
				  value> 
				
Min: 0 Max: 1 0.70 O Y Option to configure threshold %age at which SCP will stop accepting new requests.
stop_accepting_connections: <%age in decimal value> 
				
Min: 0 Max: 1 0.75 O Y Option to configure threshold %age at which SCP will stop accepting new connections. This %age should be always greater than the %age configured for stop_accepting_requests
shrink_heap:<%age in decimal value> 
				
Min: 0 Max: 1 0.70 O Y Option to configure threshold %age at which SCP will start freeing unused memory blocks. This %age should be always minimum of threshold configured for stop_accepting_requests and stop_accepting_connections
scpc-pilot: Configuration specific to Pilot Micro Service
image docker image details for scpc-pilot micro service
 image: <docker repository>/scpc-pilot
image: Name components may contain lowercase letters, digits and separators. A separator is defined as a period, one or two underscores, or one or more dashes. A name component may not start or end with a separator N/A M Y docker repository that contains scpc-pilot micro service image
 tag: <string> 
				
Tag: valid ASCII and may contain lowercase and uppercase letters, digits, underscores, periods and dashes. A tag name may not start with a period or a dash and may contain a maximum of 128 characters N/A M Y Image Tag to be used for scpc-pilot micro service
 pullPolicy: Always 
				
Always M Y Image pull policy.
enableTracing
<Boolean> 
				
true/false True O Y Option to enable/disable request .tracing
minreplicas
 <integer> 
				
NA 2 M N Minimum replica count of scp-pilot micro-service
maxreplicas
 <integer> 
				
Min: 2 Max: 32 32 M Y Maximum replica count of scp-pilot micro-service
resources
 memory: 6Gi 
				
NA 6Gi M N Requested memory (RAM) for scp-pilot micro-service in Mega Bytes
cpu: 4 
				
NA 4 M N Requested CPU for scp-pilot micro-service in milliCPU
logOutputLevel
"<Module:level>,<Module:level>,...." 
				
Supported Modules: ads, default, mcp, model, rbac

Supported Level: debug, info, warn, error, fatal, none

"default:info" O Y Option to increase/decrease scpc-pilot log level
logStacktraceLevel
"<Module:level>,<Module:level>,...." 
				
Supported Modules: ads, default, mcp, model, rbac

Supported Level: debug, info, warn, error, fatal, none

"default:none" O Y Option to increase/decrease scpc-pilot Stack Trace level

Note:

By default the sampling rate of jaeger tracing is 1%. If the user wants to increase it then use the below tag at same level as 'resources' under 'scpc-pilot' section.

traceSampling: <% user wants sampling rate to be>

Example: traceSampling: 10