ONES Orchestration
This section explains how large data centers can be designed seamlessly using ONES.
Configuring Devices
Most fabric orchestration solutions available today are complex and often difficult to understand. ONES provides simple and effective tools, such as predefined templates (YAML file), to configure data centers at scale. ONES allows a customized way of configuring devices that includes enhancements to the standard configuration.
The device should not have any IP, VLAN, Portchannel, BGP, SAG, or MCLAG config on any of the Interfaces to avoid overlapping during the orchestration and run into cleanup issues.
Post that, the user needs to save the config to a file, in case of any orchestration failure, or misconfiguration user can rollback to the saved config.
Configuration Commands:
Save Config:
sudo config save -y
Copy to File:
sudo cp /etc/sonic/config_db.json /host/backup_config_db.json
Restore Config: //If needed only
sudo config reload /host/backup_config_db_json -y
Speed config for the Host Facing port should be updated before Orchestration if there is any change in the default speed config.
Ex: Interface speed is 25G, but you can use it with 10G Transceiver. In such cases, user needs to update speed.
Configuration Commands:
Update Speed:
sudo config interface speed Ethernet0 10000
Configuration Commands:
Save Config:
sudo config save -y
Copy to File:
sudo cp /etc/sonic/config_db.json /host/backup_config_db.json
Restore Config: //If needed only
sudo config reload /host/backup_config_db_json -y
You need to provide the following inputs to configure the devices:
Configuration Overview
This section explains the device configuration procedures, that gets applied seamlessly across the entire fabric
Navigate to Configurations >> Devices

Click on the Configure Devices button in the top right corner. This opens a new screen with a sample device configuration. You can edit the configurations directly in the UI to make the desired changes. You can also download the sample YAML file by clicking on Download YAML button, provided at the bottom of the above screen, make new changes and upload the YAML file using Upload YAML button.
Configure Devices
Allows to make the config changes directly in the in-built UI editor
Download YAML
Download the sample YAML file and make the required changes
Upload YAML
Upload the modified YAML file
A detailed explanation of all the intend fields
Inventory: Specify how many devices you want to add in any particular role - Super Spine, Spine, Leaf, and ToR.
Inventory: SSpines: 2 #Define the count of devices in the SuperSpine role Spines: 2 #Define the count of devices in the Spine role Leafs: 2 #Define the count of devices in the Leaf role Tors: 1 #Define the count of devices in the Tor role
Connectivity: Specify the parameters required to establish link connectivity such as:
Device switch ID: unique ID for every device, required to correctly render the topology
Switch name: hostname of the device
IP address: management address of the device
Autonomous System Number (ASN): BGP AS number to use
Device Credentials: Username & Password.
MCLAG: Multichassis Link Aggregation
Links: links connected with another device
Connectivity: SSpine: [] #A role that does not have any device, presented as [] Spine: #Delcare all details, the device needs to update. - switchId: 1 #Every device we define for a given Role should have an ID that is unique to that Role. switchName: EC01 #Use the hostname of the switch ipAddress: 10.4.4.61 #Management IP address of the device to connect ASN: 1001 #BGP Local AS number Credentials: #User needs to enter device credentials user: admin password: YourPaSsWoRd mclag: #used to create multichassis link aggregation enabled: True #used to activate mclag property peer: L2 #Neighbor Device ID (Leaf Switch 2) keepalive_vlan: 10 #Vlan to use for Keepalive messages Links: #The links between all the devices we manage #SS indicates SuperSpine Role #S indicates Spine Role #L indicates Leaf Role #T indicates Tor Role #H indicates Host port #The next number is device's unique ID from the same respective Role #Then interface name and number - link: S1_Ethernet96 | L1_Ethernet96 #S1_Ethernet96 : Spine Role, Switch ID 1 with Interface Ethernet 96 is connected to #L1_Ethernet96 : Leaf Role, Switch ID 1 with Interface Ethernet 96 staticLink: True #True indicates the status is up properties: #This indicates the use of link properties mode: L2-Trunk #Used as Layer-2 Trunk vlan: 200 #Vlan used for mclag mc_po_group: 200 #Po number for mclag vrf: 1 #VRF to be used for mclag
BGP: Specify if you want to enable regular BGP peering or BGP unnumbered peering.
BGP: #BGP_U If set to False, this configures regular BGP peering. #BGP_U If set to True, this configures BGP unnumbered peering #ND_RA is reserved for future development BGP_U: False ND_RA: 30
PhysicalIfCfg: Enable or disable FEC and change the MTU settings on all the links being configured.
PhysicalIfCfg: FEC: On #Possible values are On or Off MTU: 8000 #MTU value a user wants to change AdminStatus: Up #Set the status UP
ASN: Assign a BGP ASN (Autonomous System Number) from the specified pool. Dynamic assigning ASN will be implemented in ONES release 2.0. For release 1.0, you need to specify the ASN under the device configuration, as shown in the sample YAML file.
ASN: SSpine: 10000-20000 Spine: 21000-50000 Leaf: 51000-60000 Tor: 61000-70000
IPv4Pool: Assign IP pools to different subnets. ONES automatically divides the subnets according to the number of available links.
ONES application uses IPv4 subnets for:
Interfaces
Loopbacks
Host interfaces
To configure BGP neighborship
ONES automatically advertises these subnets in BGP
IPv4Pool: Loopback: 19.168.10.0/24 LeafSpine: 20.168.10.0/24 LeafTor: 30.168.10.0/24 Host: 49.0.0.0/24
IPv6Pool: Assign IPv6 subnet.
ONES application uses:
IPv6 subnet for interfaces
Subnets to configure BGP neighborship
Automatically advertise these subnets in BGP
IPv6Pool: LeafSpine: LeafTor:
NTP: Provide the NTP server address, to enable NTP. You can choose your desired timezone.
NTP: server: 128.138.141.172 timezone: Asia/Kolkata
SYSLOG: Provide the SYSLOG server address, to enable SYSLOG.
SYSLOG: server: 10.1.1.11
SNMP: Provide the SNMP server address, to enable SNMP.
SNMP: trapserver: 10.1.1.11
Parameters: Provide user the ability to enable VXLAN and related Parameters.
Parameters: vlan: 200-205 vni: 20000-20005 anycast_gateway: 100.10.0.0/23 anycast_mac: 00:11:22:33:44:55 hosts_per_vlan: 10 routing_symmetric: True # True / False to indicate its symmetric routing or asymmetric routing irb_vlan: 300-305 # irb vlan is separate input and should not overlap with vxlan vni irb_vni: 30000-30005 # irb vni is separate input and should not overlap with vxlan vni sag: False # True for Anycast Gateway otherwise False
Creating Configuration
Navigate to Configurations >> Devices >> Configure Devices


Applying Configuration
Click on Apply Configs button in the bottom right corner of the above screen, to push the configs across the entire fabric.
ONES provides real-time updates when the devices are being configured and validates the configurations automatically to ensure the network is ready to use.
You will see the below screen, after the configurations are successfully verified:

Various fields shown in the top right corner of the above slide are explained below:
​​
Device configuration is not yet started
In case of the user has not applied any feature like (VXLAN, MCLAG and so on..)
​​
Device configuration is in progress
​​
The device configuration has failed. Move the cursor to the failed option to see the Error message.
​​
Device configuration is completed successfully
​​
Device configuration is validated successfully
Host Logs shows the exact configuration loaded on the device and the overview of the config loaded as per YAML
​​
Compare the applied config vs running config on the selected device and highlight the diff changes, if any
​​
is used to configure or modify a configuration when we need to add several other devices with the same file
Backup & Restore Configs: using this user can take device config backup and can use later to restore the configuration
Host Logs
Host Logs show the exact configuration loaded on the device and the overview of the config loaded as per YAML & Derived Host IP Range can be viewed from the "Derived_Config:" section
Navigate >> Configurations >> Devices >> Host Logs

Select any of the device to check the logs and configuration orchestrated by Application
Click on Host Logs

Compare Configuration
This section describes the compare configuration feature of ONES using which you can compare the applied and running configurations.
Navigate >> Configurations >> Devices >> Compare Configs

Compare Config
This page allows the user to compare applied configurations to the running configuration of a selected device.
The user should select only one device from the list and perform 'Compare Config' on this page, it may take several minutes to fetch the running configuration from the device
YAML Editor will appear with two windows comparing applied and running configurations as depicted in the below picture
The difference in configuration is highlighted with color coding in the respective window of the configuration​​

Backup & Configuration
This Section describe the use of Backup & Restore Configuration across all the managed devices
Navigate >> Configurations >> Devices >> Backup & Restore Configs

Using this feature, a user will be able to take multiple backups and will be able to restore the backup at any time.
Taking a Backup

Select Backup & Restore Configs

Give a Tag Name to the device & Select the device, the device you want to take a backup config
Submit the task

Once submitted the config will backup with the given name & can be used to restore the config at any time in future
Restoring a Backup

Select Backup & Restore Configs
Select Restore Config

Click on the drop-down button of the device on which the user wants to restore the config

Select the backup a user wants to restore from the Backups Available list

Then Submit the backup & Click on Yes to confirm
