Plan the FPolicy external engine configuration
Before you configure the FPolicy external engine, you must understand what it means to create an external engine and which configuration parameters are available. This information helps you to determine which values to set for each parameter.
Information that is defined when creating the FPolicy external engine
The external engine configuration defines the information that FPolicy needs to make and manage connections to the external FPolicy servers, including the following:
-
SVM name
-
Engine name
-
The IP addresses of the primary and secondary FPolicy servers and the TCP port number to use when making the connection to the FPolicy servers
-
Whether the engine type is asynchronous or synchronous
-
Whether the engine format is
xml
orprotobuf
Beginning with ONTAP 9.15.1, you can use the
protobuf
engine format. When set toprotobuf
, the notification messages are encoded in binary form using Google Protobuf. Before setting the engine format toprotobuf
, ensure that the FPolicy server also supportsprotobuf
deserialization.Since the protobuf format is supported beginning with ONTAP 9.15.1, you must consider external engine format before reverting to an earlier release of ONTAP. If you revert to an earlier release than ONTAP 9.15.1, work with your FPolicy partner to either:
-
Change each engine format from
protobuf
toxml
-
Delete the engines with an engine format of
protobuf
-
-
How to authenticate the connection between the node and the FPolicy server
If you choose to configure mutual SSL authentication, then you must also configure parameters that provide SSL certificate information.
-
How to manage the connection using various advanced privilege settings
This includes parameters that define such things as timeout values, retry values, keep-alive values, maximum request values, sent and receive buffer size values, and session timeout values.
The vserver fpolicy policy external-engine create
command is used to create an FPolicy external engine.
What the basic external engine parameters are
You can use the following table of basic FPolicy configuration parameters to help you plan your configuration:
Type of information |
Option |
||
---|---|---|---|
SVM Specifies the SVM name that you want to associate with this external engine. Each FPolicy configuration is defined within a single SVM. The external engine, policy event, policy scope, and policy that combine together to create an FPolicy policy configuration must all be associated with the same SVM. |
|
||
Engine name Specifies the name to assign to the external engine configuration. You must specify the external engine name later when you create the FPolicy policy. This associates the external engine with the policy. The name can be up to 256 characters long.
The name can contain any combination of the following ASCII-range characters:
|
|
||
Primary FPolicy servers Specifies the primary FPolicy servers to which the node sends notifications for a given FPolicy policy. The value is specified as a comma-delimited list of IP addresses. If more than one primary server IP address is specified, every node on which the SVM participates creates a control connection to every specified primary FPolicy server at the time the policy is enabled. If you configure multiple primary FPolicy servers, notifications are sent to the FPolicy servers in a round-robin fashion. If the external engine is used in a MetroCluster or SVM disaster recovery configuration, you should specify the IP addresses of the FPolicy servers at the source site as primary servers. The IP addresses of the FPolicy servers at the destination site should be specified as secondary servers. |
|
||
Port number Specifies the port number of the FPolicy service. |
|
||
Secondary FPolicy servers Specifies the secondary FPolicy servers to which to send file access events for a given FPolicy policy. The value is specified as a comma-delimited list of IP addresses. Secondary servers are used only when none of the primary servers are reachable. Connections to secondary servers are established when the policy is enabled, but notifications are sent to secondary servers only if none of the primary servers are reachable. If you configure multiple secondary servers, notifications are sent to the FPolicy servers in a round-robin fashion. |
|
||
External engine type Specifies whether the external engine operates in synchronous or asynchronous mode. By default, FPolicy operates in synchronous mode. When set to When set to |
|
||
External engine format Specify whether the external engine format is xml or protobuf. Beginning with ONTAP 9.15.1, you can use the protobuf engine format. When set to protobuf, the notification messages are encoded in binary form using Google Protobuf. Before setting the engine format to protobuf, ensure that the FPolicy server also supports protobuf deserialization. |
|
||
SSL option for communication with FPolicy server Specifies the SSL option for communication with the FPolicy server. This is a required parameter. You can choose one of the options based on the following information:
|
|
||
Certificate FQDN or custom common name Specifies the certificate name used if SSL authentication between the SVM and the FPolicy server is configured. You can specify the certificate name as an FQDN or as a custom common name. If you specify |
|
||
Certificate serial number Specifies the serial number of the certificate used for authentication if SSL authentication between the SVM and the FPolicy server is configured. If you specify |
|
||
Certificate authority Specifies the CA name of the certificate used for authentication if SSL authentication between the SVM and the FPolicy server is configured. If you specify |
|
What the advanced external engine options are
You can use the following table of advanced FPolicy configuration parameters as you plan whether to customize your configuration with advanced parameters. You use these parameters to modify communication behavior between the cluster nodes and the FPolicy servers:
Type of information |
Option |
---|---|
Timeout for canceling a request Specifies the time interval in hours ( If the timeout interval passes, the node sends a cancel request to the FPolicy server. The node then sends the notification to an alternate FPolicy server. This timeout helps in handling an FPolicy server that is not responding, which can improve SMB/NFS client response. Also, canceling requests after a timeout period can help in releasing system resources because the notification request is moved from a down/bad FPolicy server to an alternate FPolicy server. The range for this value is |
|
Timeout for aborting a request Specifies the timeout in hours ( The range for this value is |
|
Interval for sending status requests Specifies the interval in hours ( The range for this value is |
|
Maximum outstanding requests on the FPolicy server Specifies the maximum number of outstanding requests that can be queued on the FPolicy server. The range for this value is |
|
Timeout for disconnecting a nonresponsive FPolicy server Specifies the time interval in hours ( The connection is terminated after the timeout period only if the FPolicy server's queue contains the maximum allowed requests and no response is received within the timeout period. The maximum allowed number of requests is either The range for this value is |
|
Interval for sending keep-alive messages to the FPolicy server Specifies the time interval in hours ( Keep-alive messages detect half-open connections. The range for this value is |
|
Maximum reconnect attempts Specifies the maximum number of times the SVM attempts to reconnect to the FPolicy server after the connection has been broken. The range for this value is |
|
Receive buffer size Specifies the receive buffer size of the connected socket for the FPolicy server. The default value is set to 256 kilobytes (Kb). When the value is set to 0, the size of the receive buffer is set to a value defined by the system. For example, if the default receive buffer size of the socket is 65536 bytes, by setting the tunable value to 0, the socket buffer size is set to 65536 bytes. You can use any non-default value to set the size (in bytes) of the receive buffer. |
|
Send buffer size Specifies the send buffer size of the connected socket for the FPolicy server. The default value is set to 256 kilobytes (Kb). When the value is set to 0, the size of the send buffer is set to a value defined by the system. For example, if the default send buffer size of the socket is set to 65536 bytes, by setting the tunable value to 0, the socket buffer size is set to 65536 bytes. You can use any non-default value to set the size (in bytes) of the send buffer. |
|
Timeout for purging a session ID during reconnection Specifies the interval in hours ( If the connection between the storage controller and the FPolicy server is terminated and reconnection is made within the The default value is set to 10 seconds. |
|