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 -yCopy to File:
sudo cp /etc/sonic/config_db.json /host/backup_config_db.jsonRestore 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 10000Configuration Commands:
Save Config:
Copy to File:
Restore Config: //If needed only
You need to provide the following inputs to configure the devices:
Device Details
Username - Device User-Name
Management IP - Device IP for management
Device Credentials - Login admin user-name & password with write permission
Subnet Details
IPv4 Subnet - IPv4 address range a user wants to use in the domain
IPv4 Loopback - IPv4 address range to use on the devices only for the loopback address
IPv6 Subnet - IPv6 address range a user wants to use in the domain
Connectivity
Link connectivity between (SuperSpine, Spine, Leaf & TOR)
Link Type (Access Trunk)
Layer-2 / Layer3 - interface type
MCLAG Details
VLAN - VLAN to b used for interfaces
PO Group - PortChannel number to be used to bundle the interface
Keepalive VLAN - VLAN a user wants to use to send keepalive messages
VRF number - VRF number to be used for MC-LAG
Host Interface
L2 Access & VLAN - Host facing interface with Access port & VLAN allocation
L2 Trunk & VLAN - Host facing interface with trunk port & VLAN allocation
L3 - Host facing interface with Layer 3 properties
Network Service Address
NTP server - NTP server a user wants to add
Syslog - Syslog server IP address
SNMP - SNMP Server address a user wants to add
VXLAN
VLAN Range - VLAN range a user wants to use for VXLAN Ex. 200-205
VNI Range - VNI range a user wants to use for VXLAN Ex.20000-20005
Any-Cast Gateway - Any-cast Gateway Subnet
Host Per Vlan - Allocation of Host per VLAN
IRB VLAN Range - IRB VLAN is a separate input and should not overlap with VXLAN VNI
IRB VNI Range - IRB VNI is separate input and should not overlap with VXLAN VNI
QoS
dscp_to_tc_map - DSCP to TC mapping a user wants to use Ex. "26:3 | 48:7"
dot1p_to_tc_map - dot1p to TC mapping inputs
tc_to_queue_map - TC to queue mapping inputs Ex. "3:3 | 7:7"
tc_to_pg_map - TC to PG mapping inputs Ex. "3:3 | 7:7"
pfc_enable - PFC value to be enable Ex. "3"
pfcwd - user can choose this feature to be enable disable with below inputs
enable: false
big_red_switch: false
action: "alert"
restoration_time: 400
detection_time: 400
ecn - user can use Explicit congention notification inputs can be added as per infra, below are the inputs can be used
mode: "ecn"
cnp_queue: 7
ecn_gmin: 500000
ecn_gmax: 1500000
ecn_gmark: 10
ecn_rmin: null
ecn_rmax: null
ecn_rmark: null
ecn_ymin: null
ecn_ymax: null
ecn_ymark: null
scheduler:
type: "DWRR"
weight: "0:0 | 1:0 | 2:0 | 3:90 | 4:0 | 5:0 | 6:0"
ONES requires a minimal set of information from the users to configure the devices. The tool is simple to use and allows to configure a large number of devices simultaneously.
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.
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
BGP: Specify if you want to enable regular BGP peering or BGP unnumbered peering.
PhysicalIfCfg: Enable or disable FEC and change the MTU settings on all the links being configured.
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.
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
IPv6Pool: Assign IPv6 subnet.
ONES application uses:
IPv6 subnet for interfaces
Subnets to configure BGP neighborship
Automatically advertise these subnets in BGP
Note* IPv6 loopback is not supported
NTP: Provide the NTP server address, to enable NTP. You can choose your desired timezone.
SYSLOG: Provide the SYSLOG server address, to enable SYSLOG.
SNMP: Provide the SNMP server address, to enable SNMP.
Parameters: Provide user the ability to enable VXLAN and related Parameters.
QoS: Provide user the ability to enable RoCE related configuration.
Creating Configuration
Navigate to Configurations >> Configure >> YAML


YAML Config Illustrator
While configuring the topology, users can utilize the "Visualize YAML" feature to preview the structure and layout.
Navigate to Configurations >> Configure >> Configure Devices >> <Upload Valid YAML> >> Visualize YAML
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:
FRR config Issue
With Few versions of FRR, when user gives reboot, existing config is erased and default config is pushed to FRR. This will lead to missing the configuration for users. below is the workaround config in this situation
Go inside BGP Container & Open docker_init.sh
Look for "Split" Keyword & Comment out the statemets inside that with if conditions
Add a new line which writes Service integrated in vtysh.conf
Comment rm -f /etc/frr/frr.conf & save the changes
Commit the docker Changes
Various fields shown in the top right corner of the above slide are explained below:

Sub-options per device
Connect
Configuration Page allows a user to connect to the device using console access or using SSH method too.
Navigate >> Configuration >> Configure >> <Device sub options> >> Connect
User can choose SSH or console option to access the device.
Console Logs
Console 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 >> Configuration >> Configure >> <Device sub options> >> Console Logs
Click on the Console Log of the device
Config
This section describes the configuration feature of ONES using which you can check the applied and running configurations.
Navigate >> Configuration >> Configure >> <Device sub options> >> Config
Click on Config
Compare Configuration
This section describes the compare configuration feature of ONES using which you can compare the applied and running configurations.
Navigate >> Configurations >> Configure >> <Device sub options> >> 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 colour coding in the respective window of the configuration

Config
Navigate >> Configurations >> Configure >> <Device sub options> >> Compare Configs
This option allow a user to do Day-N operation or any customized config per device.
Last updated