Fabric intent modification

The Fabric Services System provides a number of methods to alter a fabric intent. Options vary depending on whether a fabric intent has been saved, generated, or deployed.

The current configuration of a node based directly on the latest version of a fabric intent, and excluding any changes from configuration overrides, is referred to by the Fabric Services System as the normalized configuration for that node.

Locks to prevent concurrent changes to fabric intent data

In addition to the direct modification of a fabric intent by Fabric Services System user, some other activities can require an update to a fabric's configuration. For example, if you configure traffic mirroring, the system must modify the affected nodes' normalized configurations to incorporate the mirroring data.

To avoid conflicts that could result from the concurrent modification of node configuration data, the Fabric Services System locks the fabric intent when generating a new configuration based on inputs from any source. This lock is released only when the changes underway are used to generate a new configuration, and is deployed. Only then can the competing, concurrent configuration changes be applied to further modify the normalized configuration.

So, for example, an attempt to apply configuration changes that incorporate traffic mirroring data is prevented until any changes already underway from direct modification of the general fabric intent have been applied. That is, the new configuration must have been generated and the new version of the fabric intent deployed.

Similarly, if the system is in the process of updating the normalized configuration based on traffic mirroring configuration, modifications to the fabric intents using the Fabric Intents form are prevented until the mirroring configuration has been generated and that new version of the fabric intent deployed.

Editing a fabric intent

You can edit the parameters for a fabric intent that you have previously saved or generated, but not yet deployed. Editing in this way does not create a new version of the fabric intent; the version number is not set, and changes do not increment the version number until you deploy the current fabric intent.

When editing a fabric intent, you cannot change the template that the fabric intent design is based on, but you can alter the description and topology-related values such as the number of leaves and spines. When you begin the edit operation, the system makes clear which fields can be altered and which cannot.

When you deploy a fabric intent, you can no longer edit its parameters. You must create a new version of a deployed fabric intent at which point you can save, regenerate, and possibly redeploy the new version.

To edit a saved fabric intent:

  1. Click the menu.
  2. Select Fabric Intents.
  3. To open a specific fabric intent from the list, do one of the following:
    • Double-click the row for that fabric intent.
    • Select a row, click the icon at the right edge of that row, and select Open from the displayed action list.
  4. Edit parameters in the left panel as required.
  5. When you are finished editing parameters, click to save the new configuration.

Discarding changes to a fabric intent

After you create a new version of a fabric intent, but before you deploy it, you can discard the changes you have made. This deletes the new version of the fabric intent entirely, and reverts the display show to the previously deployed version.

If you discard changes for the initial version of a fabric intent that was never deployed, it deletes the fabric intent entirely.

To discard changes for any version of a fabric intent:

  1. Click the menu.
  2. Select Fabric Intents.
  3. To open a specific fabric intent from the list, do one of the following:
    • Double-click the row for that fabric intent.
    • Select a row, click the icon at the right edge of that row, and select Open from the displayed action list.
  4. From the opened fabric intent, click the More actions icon () at the upper right of the page.
  5. Select Discard Changes.
  6. Click OK.
    The system deletes the current, in-progress candidate version of the fabric intent, and the display reverts to show the last-deployed version.

Creating a new version of a fabric intent

After a fabric intent has been deployed, you can still revise its design. This creates a new, incremented version of the previously deployed fabric intent, which you can alter without affecting the currently deployed version. When you are ready, you can deploy the new version of the fabric intent to replace the previous version.

Some actions you perform in the system may require a change to the configurations of one or more fabrics. When this happens, the system may automatically create, save, and generate a new version of the affected fabric intents for you. You can then deploy the new version to apply the necessary configuration changes to the affected nodes.

A new version of a fabric intent keeps the same fabric intent name, but the system assigns an incremented version number, date, and (if necessary) a new user association.

Creating a new fabric intent is also a prerequisite for some operations that are not supported on the initial version of a fabric intent. Currently, the operations that are supported only on Version 2.0 or greater of a fabric intent are:

  • configuring LAGs
  • configuring breakout ports

To create a new version of an existing fabric intent:

  1. Click the menu.
  2. Select Fabric Intents.
  3. To open a specific fabric intent from the list, do one of the following:
    • Double-click the row for that fabric intent.
    • Select a row, click the icon at the right edge of that row, and select Open from the displayed action list.
  4. Click the menu at the upper right of the page.
  5. Select Create Candidate Version.
    The system saves a new version of the current fabric intent.

    You can now edit the fabric intent's parameters and save the result without affecting the original version.

  6. Click GENERATE FABRIC to generate a new fabric diagram.
    You can now view the fabric intent, and eventually add it to the deployment pipeline and deploy it as you would for a new fabric intent.

    At any time before deploying the new version, you can discard this candidate version and revert to the previously deployed version by clicking on the More actions icon ( ) in the Fabric Design view and selecting Discard Changes.

Duplicating a fabric intent

In addition to saving new, incremental versions of an existing fabric intent, you can save a completely independent copy of an existing intent. This new duplicate has its own version history that you can continue to develop independently of the original.

To duplicate a fabric intent:

  1. Click the menu.
  2. Select Fabric Intents.
  3. Select a fabric intent from the displayed list.
  4. Click the More actions icon () at the right end of the row.
  5. Select Duplicate from the action list.
The system creates a new, independent copy (not a new version) of the selected fabric intent.