Fabric intent deployment
Deploying a fabric intent creates a functioning instance of the fabric on any associated, real hardware.
Before you can deploy your fabric, you must have saved the fabric intent and generated its configuration.
Adding a fabric intent to the deployment pipeline
- Open the list of fabric intents.
- Use the Region Selector at the top of the page to select the region that includes the fabric intent.
- Click .
- Click the ADD TO PIPELINE button.
The system adds the fabric intent to the deployment queue for the region, and updates the status of the fabric intent to Queued for Deployment.
Deploying a fabric intent from the deployment pipeline
- Click the menu.
- Select Fabric Intents.
- Use the Region Selector at the top of the page to select the region that includes the fabric intent.
- Find the row corresponding to the fabric intent you want to deploy.
- Click the icon at the right edge of the row and select Deployment Pipeline from the actions list.
- Find your fabric intent in the deployment pipeline list.
- At the right edge of the row click the More actions icon ( ).
- Select Deploy from the actions list.
When deployment is complete, the fabric's status advances to Deployed.
The timing of the deployment depends on the fabric intent's Deployment Trigger Percentage setting.
- When the node becomes Ready (for example, when a node that has lost its gNMI
connection restores that connection) deployment to that node resumes automatically
provided it passes all node-level checks and intent-level checks.
These checks are repeated every 60 seconds; so a node that fails any of these checks initially can pass them later, and deployment will resume for that node.
The node-level checks consist of the following:
- The node is in the Ready state
- The deployed fabric's version number is lower that version number of the candidate intent being deployed
- If the node is unmanaged, a system GCO exists to describe its configuration
- The node is running SR Linux
The intent-level checks consist of the following:
- The intent is in non-candidate mode, and is in either the "deploymentdone" or "deploymentfailed" state
- The intent is not the subject of any deviation, region lock, workload-related interface check failure, or maintenance lock
However, if the candidate intent is in a "stale" state (due to, for example, the creation of a mirror or GCO for which automatic deployment was not selected), automatic deployment will not proceed even if the target node adopts a Ready state. Instead, deployment of the intent must be performed manually.
- If multiple nodes are unready at deployment, and several become Ready at the same time, deployment automatically resumes for all of the newly Ready nodes as a group (but subject to the limitations described above).
The Deployment Trigger Percentage setting
When you create a fabric intent, you select a Deployment Trigger Percentage value. This value represents the percentage of nodes participating in the fabric intent that must be in a Ready state before the system begins deploying the fabric intent.
The Fabric Services System currently supports two values for the Deployment Trigger Percentage: 0% and 100%:
- All Real fabrics use the 0% value, and this cannot be changed.
- All Digital Sandbox fabric intents use the 100% value, and this cannot be changed.
Depending upon the fabric's Deployment Trigger Percentage value, the system does one of the following after you select Deploy in the Deployment Pipeline action menu:
- If the value is set to 0%, the system immediately begins deploying the configuration
to any available Ready nodes.
- The system deploys the necessary configuration to each Ready node. The system waits until the configuration is complete on one node before proceeding to the next node.
- When the system runs out of Ready
nodes to configure, including if there are no
Ready nodes to begin with, it suspends the
deployment process.
The state of the fabric intent advances to Deployment Done.
- Deployment of the fabric intent
does not resume, even if additional nodes reach a
Ready state, until you:
- open the Deployment Pipeline
- select the fabric intent
- select Deploy
At that point the system resumes deployment until it again runs out of Ready nodes, or the entire fabric intent is deployed.
- If any node configuration fails, the system rolls back the entire fabric deployment. Each node that it reconfigured is restored to its previous state, as captured in the rollback save.
- if the value is set to 100%, the system waits until all nodes in the fabric intent
are in a Ready state before beginning deployment.
- After all nodes are Ready, the system deploys the necessary configuration to each node. The system waits until the configuration is complete on one node before proceeding to the next node.
- The system saves a rollback configuration before deploying a configuration, in case it needs to roll back the deployment on the node.
- If deployment of the entire fabric completes successfully, the system sets the State of the fabric to Deployment Done.
- If any node configuration fails, the system rolls back the entire fabric deployment, one node at a time. Each node that it reconfigured is restored to its previous state, as captured in the rollback save.