# ONES Orchestration

## Why do we need Network Orchestration?

Orchestration refers to tasks or actions required to achieve a set of objectives for your Network Infrastructure operations

A centralized application like ONES translates these objectives into a network configuration template, applies and monitors to validate the operational efficiency and functionality

<figure><img src="https://content.gitbook.com/content/LacTh6x78oAd4VRzALXL/blobs/AfZNf6eJtjDvscsP2HkD/png_20230206_154811_0000.png" alt=""><figcaption></figcaption></figure>

Automated tasks are performed on your Network Fabric in a purposeful order and each step is verified for success before moving to the next

## ONES Orchestration - Overview

ONES Orchestration function, referred to as Fabric Manager (FM), lets you compose, deploy, and validate network configurations across any SONiC, be it a Community version or a Vendor distro.

As part of the initial release, ONES Orchestration supports to&#x20;

* Create and configure CLOS topology for ToR, Leaf, Spine, and Super-Spine layers&#x20;
* Apply and validate configurations pre- and post-deployment&#x20;
* Compare running configs against applied configs at any point&#x20;
* Upgrade devices with a single click via ZTP or custom NOS images
* Restore & Backup configuration feature
* Yaml-based config for VXLAN, MCLAG, BGP IP CLOS & EVPN(L2VPN), EVPN Multihoming, L3 EVPN Symmetric IRB, L3EVPN symmetric IRB with MCLAG.
* Automate Configuration of interfaces, layer 3 interfaces, BGP-unnumbered and Common Services like NTP, SNMP, SYSLOG etc.

ONES Orchestration use cases are configured using a set of pre-defined YAML-based templates on ONES Web User Interface

<figure><img src="https://content.gitbook.com/content/LacTh6x78oAd4VRzALXL/blobs/9PfOEJO6FbL29DMxD7Y0/Screenshot%202023-11-17%20at%208.56.49%E2%80%AFPM.png" alt=""><figcaption></figcaption></figure>

## FMCLI

### Fabric Manager CLI

Once the user installs Orchestrator Agent (Fabric Manager Agent) on the device, it enables FMCLI

FMCLI provides a user interface to configure all the open standard protocols and is user-friendly

To use FMCLI, the user can run **fmcli** command on the device to enter in the configuration mode and can configure the protocols or any other required feature

**Example of BGP config using fmcli**

```log
admin@fmcli:~$ fmcli
fmcli# configure terminal 
fmcli(config)# router bgp 1001
fmcli(config-router)# neighbor 10.10.10.1 remote-as 100
...
...
```

<details>

<summary>Supported FMCLI Features</summary>

* Zero Touch Provisioning
* Image Management
* Configuration Management
* Interface Management
* VLAN's
* Spanning Tree Protocol
* VXLAN
* L2 Forwarding Database
* LLDP
* LACP
* DHCP Relay
* IP Management
* ARP
* PING
* Traceroute
* Routing
* BGP\*
* NTP
* SYSLOG
* Platform Details
* SFLOW
* NAT
* Forward Error Correction
* BFD
* SNMP
* VRF
* AAA & TACACS
* Drop Counters
* ERSPAN
* IP Based ACL
* Prefix-list
* EVPN Multihoming
* Route-map&#x20;

</details>

