PowerSwitch SmartFabric OS10 REST API Implementation Participant Guide
PowerSwitch SmartFabric OS10 REST API Implementation Participant Guide
SMARTFABRIC OS10
REST API
IMPLEMENTATION
PARTICIPANT GUIDE
PARTICIPANT GUIDE
PowerSwitch SmartFabric OS10 REST API Implementation - SSP
There is no standard definition for SDN. Different vendors have different ideas and
different methods to create SDNs.
Software Defined Networking (SDN) automates the configuration tasks that are
associated with data center virtualization. It reduces the data center complexity that
makes it difficult to manually program networks as hosts and applications are
added.
SDN Planes
SDN offers centralized, programmable networking that can dynamically meet the
changing needs of a business. In the traditional networking architecture, the
management, control, and data planes all reside in the networking device.
The control plane determines how packets are forwarded. The routing tables exist
in the control plane.
The data plane is where packets are moved from one place to another in the
network. Forwarding decisions are based on information from the control plane.
SDN Approaches
OpenFlow
Without OpenFlow and SDN, each switch and router communicate with other
switches and routers through the control plane. For example, the router information
base (RIB) in each switch is built using routing communications with other routers.
The RIB on each router is used to make forwarding decisions.
With OpenFlow, all control plane activities are done in the SDN controller. The
forwarding decisions in the data plane use cached information from the SDN
controller.
SDN Mgmt
Controller Network
- LLDP
Programmable
SDN Mgmt
Controller Network
VXLAN Overlay
● Assigned an IP address
Control Plane
Distributed Control
With distributed control, every router has control plane intelligence. Think of control
plane intelligence as a brain on each router that communicates with other routers
that it directly connects with on the network. Each router saves the information that
it receives from the other routers. Each router uses its independent "brain" to make
routing decisions. Frames are forwarded based on the information each router has
in its forwarding database.
Centralized Control
With centralized intelligence in the control plane, all the "brains" for making routing
decisions are in the SDN controller. OpenFlow is an example of centralized
control.
The SDN controller calculates the best paths to each end device.
What happens when the forwarding information is absent for a packet received by
a switch? In this case, the switch contacts the centralized controller for the
forwarding information. It then caches the forwarding information, so that it does
not need to contact the centralized controller again.
SDN Mgmt
Controller Network
Centralized Programming
Without SDN, each switch is programmed and configured individually through CLI
commands. If new servers are added, a network administrator must go into multiple
switches in the network to make configuration changes. These changes include
VLAN updates, configuring IP addresses and gateways, QoS, routing, redundancy,
and security policies. This way of configuring switches is prone to human error.
SDN Programming
Orchestration software that creates VMs can have network configuration control
that is built in. An example of this is VMware NSX working together with Dell EMC
SDN Mgmt
Controller Network
Software defined virtual overlay networks sit on top of physical data center
networks. The virtual tunnel endpoints are implemented either in top-of-rack
physical switches, or in virtual switches (vSwitch).
Implemented in
physical switch
Implemented
in vSwitch
Business
Cloud Orchestration SDN Applications
Applications
Application Layer
Northbound APIs
SDN Controllers
Southbound APIs
The northbound APIs are used for communication between the SDN controller
and the services and applications running over the network. These services and
applications include automation stacks such as Puppet, Chef, and so on, and
orchestration platforms such as OpenStack, CloudStack, and so on.
The southbound APIs provide communication between the SDN controller and
the network devices. Examples of southbound APIs include OpenFlow (1.0 and
1.3), OVSDB, NETCONF, and so on.
REST API is a common way of implementing the underlying programming for SDN.
• SDN implementation via APIs refers to southbound APIs that configure and
program the control plane active on the device.
• REST API offers different degrees of control over the network devices, data
plane, topology, etc., each having different advantages and disadvantages.
• The SDN controller uses north-bound APIs to communicate with the business
logic applications and south-bound APIs to set up controlled network devices,
such as OS10 switches.
• You can develop SDN controller network applications using REST or north-
bound APIs to business logic applications.
• The SDN controller uses OpenFlow south-bound APIs to communicate with the
switches and relay information from business logic applications.
Getting Started
L2 and L3 Networks
• OS10 gives standard networking features, interfaces, and scripting functions for
legacy network operations integration.
You can refer the Dell EMC SmartFabric OS10 User Guide for configuring and
maintaining OS10 networks. Refer to the RESTCONF API chapter to learn more
about RESTCONF API on an OS10 interface.
Note: Refer the Dell EMC support website for SmartFabric OS10
User Guide to learn more about SmartFabric OS10.
For more documents, refer the DELL Support website.
• RESTCONF API: REST-like protocol that uses HTTPS connections. Use the
OS10 RESTCONF API to set up the configuration parameters1 on OS10
switches with JSON structured messages. You can use any programming
language to create and send HTTPS requests that use JSON file format.
• SmartFabric Services fabric automation: Automate the configuration of OS10
switches in Isilon backend, PowerEdge MX, and VxRail turnkey solutions.
• Linux DevOps ecosystem: OS10 provides access to an unmodified Linux
(Debian) operating system that allows you to benefit from the Linux DevOps
ecosystem. Programmers can write applications in Python or C or C++ to
execute on an OS10 switch.
• Ansible: Third-party DevOps tool Ansible2 is a powerful, open-source IT
automation engine that provides a simple way to automate application software
and IT infrastructure. Ansible can remove complexity from the environments
and accelerate DevOps initiatives.
1 You can also get the current state, status, counters, etc.
2 Ansible works by connecting to your nodes using SSH and pushing out small
programs, called Ansible modules, to them. Ansible includes hundreds of network
modules to support a wide variety of network device vendors. Ansible uses a
simple, powerful, and agentless automation framework.
RESTCONF is a REST-like protocol that uses HTTPS connections. You can use
the OS10 RESTCONF API to set up the configuration parameters on OS10
switches using JSON-structured messages. You can also use any programming
language to create and send HTTPS requests that use JSON file format.
4cURL is a Linux shell command that generates HTTPS requests and is executed
on an external server.
7 Management IP address
To use the RESTCONF API on an OS10 interface, you must enable the
RESTCONF API service using the rest api restconf command. You can also
configure HTTPS access including:
8 A document that associates a network device with its public key. When
exchanged between participating devices, certificates are used to validate device
identity and the public key that is associated with the device.
After you enable the RESTCONF API, you can send HTTPS requests from a
remote device.
3. Limit the ciphers that the switch uses in a RESTCONF HTTPS session to
encrypt and decrypt data in CONFIGURATION mode. By default, all cipher suites
that are installed on OS10 are supported.
OS10(config)# rest https cipher-suite
Parameters None
Example
SmartFabric Services
SmartFabric Services (SFS) is an automation framework that is built into Dell EMC
SmartFabric OS10, to integrate converged and hyperconverged infrastructure
systems. It provides network fabric10 automation and API-based programmability.
SFS Deployments
VxRail
With SFS, switches are automatically configured during VxRail deployment. When
additional VxRail nodes are connected to the SmartFabric, the fabric identifies
them as VxRail nodes and automatically onboards them to the required networks.
PowerEdge MX
PowerScale
Typical Dell PowerScale cluster topology - back-end and front-end network connections.
The deployment of PowerScale with SFS is divided into two different procedures.
SFS Management
It integrates with VMware vCenter for zero-touch fabric automation of the physical
network infrastructure corresponding to the virtual network operations within
vCenter.
SFS Components
15This component is an optional agent that makes REST API calls to manage the
fabric or switch cluster. It sits outside the cluster construct. It can be part of a
solution management application, fabric user interface, or software module. In the
case of VxRail and MX, the EFM component is the OMNI and OME-M respectively.
• Fabric agent17
• Distributed database18
16SFS Controller runs on the master node. The services controller is the end-point
connection to the EFM, without it no fabric orchestration would take place. The
controller also exposes fabric data models and APIs needed for the fabric
configuration such as Layer 2, Layer 3, cluster management, and more.
17The fabric agent is a small software module that runs on all nodes, and it
manages all change requests for each individual node. The controller
communicates directly with this agent when making configuration changes on the
fabric.
18This database regulates and synchronizes all fabric configuration across the
entire fabric.
From the top-level root, the RESTful interface branches out to cover a number of
Collections, which each in turn includes multiple sub-items, creating a tree-like
structure. The administrator can drill down through this structure to find information
and settings of interest.
The REST API tree structure that is used for SFS is different than the one used for
normal operations. To manage a switch in standard full switch mode is different
than managing a switch in SFS mode.
show smartfabric personality is a CLI command to determine if the switch is in SFS mode.
Challenges
Use the on-demand lab to perform the below tasks with the help of the lab guide.
• Configure switches for RESTCONF operation.
• Translating CLI commands into REST API request.
• Use Postman to run REST API commands.
• Run advanced OS10 RESTCONF commands.
To launch the live lab, go to the enrolled course page on Saba. You can find two
assets, the course, and the lab. Click Launch for the lab asset.
The example shows the saba page for the PowerScale Troubleshooting course.
Saba page example showing a PowerScale troubleshooting course and the associated lab.