Persistent Storage for Policy Configuration

Feature Summary and Revision History

Summary Data

Table 1. Summary Data
Applicable Products or Functional Area 5G-PCF
Applicable Platform(s) SMI
Feature Default Setting Enabled – Configurration Required
Related Changes in this Release Not Applicable
Related Documentation Not Applicable

Revision History

Table 2. Revision History
Revision Details Release

Added the procedure to assign the storage volume as persistent storage.

2020.03.0

First Introduced.

2020.02.0

Feature Description

Persistent storage is a storage solution that retains the data after the power and network resources are disconnected.

The PCF provides various storage technologies for managing the configuration data. The PCF has pre-defined storage such as the OpenStack Cinder volume used for storing the CRD data. PCF optionally stores the CRD data in shared storage such as OpenStack Cinder (default) or local storage. In the case of deployment on bare metal servers, PCF uses the local storage class along with the default storage layer as the persistent storage.

For generic information on the Persistent Volume concepts, see the Kubernetes documentation.

Restore Capability

The Subversion repository stores the policy-specific configuration data in the XMI format. This repository resides in an SVN pod. If the SVN pod is restarted, the repository experiences a data loss. In such scenarios, you must reimport the configuration files to the SVN pod.

A new restore mechanism is introduced to protect the configuration data and maintain its integrity when the SVN pod restarts.

How it Works

This section provides a summary of how PCF maintains the persistency of configuration files.

The PCF implements the Kubernetes Persistent Volume (PV) framework, which lets the administrators allocate persistent storage for a cluster. Regardless of the storage tier, you can use the Persistent Volume Claims (PVCs) to request PV resources. You must enable persistent volume claim and assign storage that represents local storage. The data residing on the local storage is intact in situations where the associated node or pod restarts.

Restore Capability

The restore capability maintains the continuity of the policy configuration files in conditions where the SVN pod is restarted.

The policy configuration files are in the XMI format. Each SVN repository contains XMI files that are represented in a configMap. The configMap is updated whenever a policy configuration is modified and committed into an SVN repository. When the SVN pod is restarted, it verifies if the configMap is available and the corresponding XMI files are loaded to the repository.

The restore capability is managed through the following configMaps:

  • Monitor-svn-configmap-pcf: Contains configuration data in key-value pairs that represent the repository name and policy hash.

  • Policy-svn-persistence-configmap: Contains the configured value of the policy-configuration-restore configMap.

Configuring Persistent Storage

This section describes how to configure persistent storage.

Configuring the persistent storage in PCF involves the following steps:

Enabling Support for Persistent Storage

This section describes how to enable persistent volume claim to configure persistent storage.

  1. To enable persistent volume claim, use the following configuration:

    config 
      k8s 
      use-volume-claims [ true | false ] 
      end 

    NOTES:

    • config – Enters the configuration terminal.

    • k8s – Enters the Kubernetes configuration mode.

    • use-volume-claims [ true | false ] – Configures using the volume claims during the NF deployment. When set to true, the default storage class such as OpenStack Cinder is enabled. If the use-volume-claims is set to false, then the data gets stored in the memory that is susceptible to lose on a pod restart.

Assigning Persistent Storage

This section describes how to assign a storage volume as the persistent storage.

Before configuring the persistent storage, ensure that use-volume-claims is enabled.

  1. To assign persistent storage, use the following configuration:

    config 
     db 
       global-settings 
          volume-storage-class [ default | local ] 
          end 

    NOTES:

    • config – Enters the configuration terminal.

    • db – Enters the database configuration mode.

    • global-settings – Configures the database global settings.

    • volume-storage-class [ default | local ] – Configures the storage that gets assigned as the persistent storage. Specify default to indicate the default storage volume. For example, Cinder. To indicate local-storage volume, specify local . If you do not specify any value, the PCF uses the default storage volume.

Configuring the Restore Capability

This section describes how to configure the restore capability.

To configure the restore capability that ensures the persistency of policy configuration file, use the following configuration in the Policy Ops Center console:

config 
   engine engine_name 
      pcf policy-configuration-restore [ true | false ] 
      end 

NOTES:

  • engine engine_name – Specifies the engine for which the restore capability must be configured

  • pcf policy-configuration-restore [ true | false ] – Configures the capability that is responsible for restoring the configMap. The default value for this parameter is true.