Contextual configuration overrides
- sub-interfaces
- routers
When you create a workload intent, the Fabric Services System prepares a set of configuration files for all of the nodes participating in the workload intent. The configuration for each of these nodes is based directly on the parameters you provide when creating the workload intent. These are the "normalized configurations" for the participating nodes.
A CCO allows you to specify a set of changes to the configuration files for one or more nodes participating in a workload intent. CCOs 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 workload intent inputs.
- a workload intent you are currently creating
- a new workload intent
- a new version of an existing workload intent
Multiple versions of overrides
You can create additional versions of a contextual configuration override; only one of these can be set to Active at a time. You can set all versions of an override to Inactive if required.
Deleting overrides
If you delete a CCO, or set all versions of an override to Inactive, existing workload intents (and the node configurations that support them) are unaffected.
However, the next time you generate a workload intent that previously used the deleted or inactive CCO, the former override modification does not take place.
Deleting supporting elements
Each CCO involves one or more specific sub-interfaces or routers that you select when you create the override. If those sub-interfaces or routers are subsequently deleted, the system does not automatically update any CCO that refers to them. You must modify each affected CCO to correct the reference to the non-existent object.
However, if you try to save a CCO that refers to a non-existent object (for example, a router that existed when the CCO was first created but that has since been deleted), the system warns you that the result is an invalid workload configuration.
Contextual 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
targets. 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 cannot be altered. |
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 sub-interfaces or routers, the execution order value dictates the order in which the configuration changes are merged into the configurations data. 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. |
Target Configuration | See description | This consists of three
sub-parameters:
|
Configuration Type | Contextual Override | This value cannot be modified. |
Type | sub-interface |
This indicates the type of workload-related object whose configuration data is impacted by this override. Its value can be one of the following:
|
Path | /interface/subinterface | This indicates where within the structure of a configuration file
this override will be inserted.
|
Method Selector | By Type | This value cannot be altered. |
Selector | n/a | This indicates the list of sub-interfaces or
routers that are affected by this override. The list of selected objects can span multiple workload intents. |
Node Selector | None | You can optionally use this control to select one or more nodes in the system inventory. Regardless of how many nodes' configurations may be encompassed by the current list of sub-interface or router targets, the configuration override is applied only to these nodes. |
Configuration Data | None | Each configuration override must include a set of
JSON configuration data to be merged into the configuration data for
the targets. For example:
|
Creating a contextual 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 the software configuration of the target nodes (the operating system, OS version, and data model).
- Enter the specific configuration data that should be applied to the target configurations.
- Specify whether the configuration override applies to
sub-interfaces or routers.Note: Contextual configuration overrides for routers apply only to routed subnets or bridged subnets with IRB.
- Identify the objects to which this override applies by selecting specific, previously-defined sub-interfaces or routers.
- Optionally, restrict the override to only affect specific nodes.
- Save the override.
- in-progress workload intents
- future workload intents
- new versions of existing workload intents
- Click the menu.
- Select Overrides to open the Overrides page.
-
From the View drop-down, select Contextual
Override.
Note: The View drop-down is set to Global Override by default.
- Click +CREATE to open the Configuration Creation page.
-
Enter values for the following parameters as described in Contextual configuration override parameters:
- Active
- Name
- Description
- Execution Order
Note: The Automatic Deployment property is disabled and cannot be altered for a contextual configuration override. -
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 6. Select each target configuration from the Target drop-down list to see its unique window in which to enter configuration code.
- In the Type drop-down list, indicate whether this override affects the configuration of a sub-interface or a router.
-
Select the edit icon () above the Selector panel to open
theSelector form (which lists all available
sub-interfaces or routers), and do the following:
-
Optionally, use the Node Selector to restrict the scope
of this override. Select one or more nodes that are managed by the Fabric
Services System. If the set of sub-interface or router targets you selected for
this override encompass multiple nodes, only the nodes on this list are affected
by the CCO.
Note: If you do not select one or more nodes here, the contextual configuration override is applied to all nodes encompassed by the sub-interfaces or routers you selected.
- Click the Save icon () to save the new override.
If you created the configuration override in the midst of creating a workload intent, you must generate that workload intent again to incorporate the override data. You can then resume the creation and deployment of that workload intent.