Global configuration overrides
When you create a fabric intent, the Fabric Services System prepares a set of configuration files for all of the nodes participating in the fabric. The configuration for each of these nodes is based directly on the parameters you provide when creating the fabric intent. These are the "normalized" configurations for the participating nodes.
A global configuration override (GCO) allows you to specify a set of changes to the configuration files for one or more nodes within a fabric. GCOs are strictly additive; they allow you to insert new or modify existing configuration data, but cannot be used to remove any of the configuration data that the system creates based on the original fabric intent inputs.
- by selecting individual nodes from the inventory
- by applying a label to the nodes you want modified, and then selecting that label as the override target
The resulting updated configuration is applied to the specified nodes the next time you deploy a fabric intent that includes any of those nodes. If you create a GCO during the initial fabric intent creation, you can proceed with deployment normally and the initial version of the fabric intent includes the overrides.
To apply the GCO to nodes within an existing fabric intent, you must first create a new candidate version of the fabric intent. You can then proceed with deployment of the new version normally, which includes any changes specified in the configuration override for the nodes within that fabric intent.
GCOs are not specific to individual fabrics; they can affect multiple nodes that have been either selected manually or identified by a shared label, and these nodes could belong to multiple fabrics. For the node configuration changes to take full effect, you must re-deploy any already-deployed fabrics that include the affected nodes.
GCOs themselves can have multiple versions, although only one version of a particular override can be active at one time.
Applying multiple overrides
You can apply multiple GCOs to the same fabric intent, each with its own configuration changes and target nodes.
Each GCO you create includes a number indicating its execution order. When multiple GCOs are applied to a fabric intent, the overrides are applied to the participating nodes' configuration data based on the execution order value, from lowest to highest. This ensures that the overrides interact in a consistent and predictable way.
Deploying fabric intents with overrides
Like any fabric intent deployment, the deployment of fabric intents that include GCOs proceeds as a single transaction. If the deployment of the modified fabric intent fails for any node, the entire deployment is rolled back and any modified nodes are restored to their previous states.
The reason for any failure is recorded in the Fabric Services System Events Log.
Fabric intent displays and configuration overrides
When viewing a fabric intent in the Fabric Services System GUI, the system displays some parameters pertaining generally to the nodes within the fabric intent. These values always reflect the normalized configuration within the fabric intent, and do not reflect any configuration overrides that may have been applied to the nodes.
For example, the Fabric Intents design page displays values for FTP settings near the bottom of the left column. This reflects the FTP settings that are specified when creating the fabric intent, and so may continue to display FTP as disabled across the fabric even though a configuration override subsequently added data to enable FTP on some of the nodes.
Deviation-related global configuration overrides
A deviation is a node configuration that originates outside the Fabric Services System, and so represents a change to the current configuration for that node that is stored in the related fabric intent. The Fabric Services System continues to monitor node configurations after fabric intents have been deployed; and when the node configuration is modified externally, the system reports this as a deviation.
You can accept or reject deviations that have been detected by the Fabric Services System. Deviations you reject are discarded, but deviations you accept are stored in the Fabric Services System as a special type of system-generated GCO.
Such deviation-related GCOs are automatically deployed to the affected nodes. The GCO parameters, and the modified configuration data that is part of the GCO, are set by the system and cannot be modified. Storing the deviation as a GCO ensures that the deviation-based configuration information is stored and managed in a manner consistent with other configuration exceptions that are created by the Fabric Services System user.
Deviation-related GCOs are always the last changes applied to the normalized node configuration (after standard global configuration overrides and contextual configuration overrides) to arrive at the final configuration for a node.
If you delete a node that is the subject of a deviation-related GCO, the GCO itself is deleted from the system.
Global configuration override parameters
Parameter | Default value | Description |
---|---|---|
Version | See Description | This value is assigned automatically. The first instance of any configuration override is Version 1.0. Subsequent versions of the same override increment this value. |
Active | Enabled | This value indicates which, if any, version of a configuration
override should be used to modify the configuration data for the
target nodes. A maximum of one version of any configuration override
can be active at one time. It is possible to set all versions of an override to inactive. |
Automatic Deployment | Disabled | This value determines whether the override should be
automatically pushed down to the affected nodes.
|
Name | None | This text string identifies the configuration override and is used to identify it in the list of all overrides within the system. It must be unique (but is shared by all versions of the same override). |
Description | None | An optional text string describing the purpose or impact of the override. |
Execution Order | n+100 |
If two or more overrides target the same nodes, the execution order value dictates the order in which the configuration changes are merged into the configurations of the target nodes. The override with the lowest Execution Order value is applied first. The default value is the current highest value plus 100. As a result, the first override created has a default value of 100. |
Method for Selecting Nodes | None | Can be either of these values:
|
Node Label Selector | None | If the Method for Selecting Nodes parameter is set to By Label, this control is displayed and is active. You can use this control to specify one or more node labels. These labels must be "Node-Type" labels. When applied, the configuration data in this override is applied to all nodes within the fabric intent with at least one of these labels. |
Node Selector | None | If the Method for Selecting Nodes parameter is set to By Node, this control is displayed and active. You can use this control to select one or more nodes in the system inventory. When applied, the configuration data in this override is applied to each of the selected nodes within the fabric intent. |
Configuration Type | Global Override | This value cannot be modified. |
Target Configuration | See Description | This consists of three sub-parameters:
|
Configuration Data | None | Each configuration override must include a set of
JSON configuration data to be merged into the configuration file for
the target nodes. For
example:
|
Creating a global configuration override
- Provide a name and description to identify this override.
- Set some configuration parameters for the override:
- whether it is active
- where it falls in the overall execution order for all active overrides
- Identify one or more software configurations for the target nodes (the operating system, OS version, and data model).
- Enter the specific node configuration data that should be applied to the target nodes. Each combination of OS, OS version, and data model can have its own unique configuration code to be applied as part of this override.
- Identify the specific nodes to which this override applies by either:
- selecting individual nodes
- identifying a label common to the target nodes
- Save the override.
- in-progress fabric intents
- future fabric intents
- new versions of existing fabric intents
- Click the menu.
- Select Overrides to open the Overrides page.
- Click +CREATE to open the Configuration Creation page.
-
Enter values for the following parameters as described in Global configuration override parameters:
- Active
- Automatic Deployment
- Name
- Description
- Execution Order
-
Identify a target configuration by doing the following:
-
In the Configuration panel, add the specific
configuration data that you want to be merged into the configurations for the
targeted nodes.
Note: You can enter independent instances of configuration code here for each combination of operating system, version, and data model you selected in step 5. Select each target configuration from the Target drop-down to see its unique window in which to enter configuration code.Note: Instead of typing or pasting code in this window, you can use the More... button () at the upper right of the form to select a file from which to import this code.
- For Method for Selecting Nodes, do one of the following:
-
Select the Edit icon () above the Node Label
Selector panel to open the Label Picker
form and do the following:
-
Select the edit icon () above the Node Selector panel to open the
Node Selector and do the following:
- Click the Save icon () to save the new override.
If you created the configuration override in the midst of creating a fabric intent, you must generate that fabric intent again to incorporate the override data. You can then resume the creation and deployment of that fabric intent.