Table of Contents
Switch Discovery and Switch Management
Overview
This feature request comes from a custom. The customer requested that xCAT be able to do switch discovery from xCAT mn for a subnet, get all the switches defined in the xCAT DB with their IP, mac, model and serial number, and configure the switches to enable VLAN, bonding, SNMP and others which needed by solution. So the feature will be divided into following three categories:
- switch discovery
- switch definition
- switch management
Switch Discovery
There are several different tools we can use to discover a switch.
- lldpd http://vincentbernat.github.io/lldpd/index.html. It supports several discovery protocols:
- LLDP (For all switches that has LLDP enabled, for example: BNT switches)
- CDP (For Cisco switches)
- EDP (For Extreme switches)
- SONMP (For Nortel switches)
- FDP (For Foundry switches) It can provide a lot of information about the switch like system name and description, port name and description, IPv4/IPv6 management address, MAC/PHY information,etc.
- NMAP http://nmap.org/. It is a utility for network discovery and security auditing. NMAP detects available hosts on the network, the services the hosts are offering, the operating systems (and OS versions) the hosts are running etc. We can use this tool to detect switches that are not LLDP enalbled, for example Mellanox IB switches.
- SNMP http://en.wikipedia.org/wiki/Simple_Network_Management_Protocol. It is a popular protocol for network management. It is used for collecting information from, and configuring, network devices, such as servers, printers, hubs, switches, and routers on an Internet Protocol (IP) network.
A new command called switchdiscover will be introduced in xCAT 2.10 release to scan the subnets and discover all the switches on the subnets. The default subnets will be the ones that the xCAT management node is on. The command will also take a subnet as an input. The default discovery method will be lldpd. The nmap and snmp methods will be supported as options chosen by some flags. The following is the format of the command. It is trying to be consistent with lsslp command for flags.
switchdiscover [-h| --help]
switchdiscover [-v| --version]
switchdiscover [noderange|--range ip_ranges][-s scan_methods][-r|-x|-z][-n][-w]
noderange The switches which the user want to discover.
If the user specify the noderange, this command will just return the switches in
the node range. Which means it will help to add the new switches to the xCAT
database without modifying the existed definitions. But the switches'name
specified in noderange should be defined in database in advance, the ips of the
switches be defined in /etc/hosts file. This command will fill the switch
attributes for the switches defined.
-h Display usage message.
-n Only display and write the newly discovered switches.
--range Specify one or more IP ranges.
It accepts multiple formats, it can also a list of ip addreses or an ip range.
For example, 192.168.2.1, 192.168.1.1/24, 40-41.1-2.3-4.1-100.
If the range is huge, for example, 192.168.1.1/8, switchdiscover may take a
very long time for node scan.
So the range should be exactly specified.
-r Display Raw response.
-s It is a comma separated list of methods for switch discovery. The possible
switch scan methods are: llpd, nmap and snmp. The default is lldpd.
-v Command Version.
-V Verbose output.
-w Writes output to xCAT database.
-x XML format.
-z Stanza formatted output.
Switch Definition
xCAT currently has a switches table for switch related information. The switch discovery process will populate this table as well as vpd and mac tables. A new switch def object will be create to represent a switch. It will include switch name, ip, mac, model, serial number, login info, snmp access info etc.
Switch Management
For this release, xCAT will not do a lot of switch management functions. Instead, it will configure the switch so that the admin can run remote command such as xdsh for it. Thus, the admin can use the xdsh to run proprietary switch commands remotely from the xCAT mn to enable VLAN, bonding, SNMP and others.
In order to run xdsh, ssh must be setup on the switch. Because switches from different vendors have different ways to get ssh setup, we need more investigation in this area. Currently xCAT supports enabling/disabling ssh to switch without password for Mellanox switches with rspconfig command.
rspconfig <switch> sshcfg=enable/disable
We intend to use this command for the Ethernet switches.
Documentation
Since a new command will be introduced. Its usage will be documented in the man page. The Managing Ethernet Switches and Managing the Mellanox Infiniband Network external documents will be updated with switch discovery function.
Switches Supported
- BNT
- Cisco
- Mellanox
Packaging, installation, dependencies
nmap and snmp are already required by xCAT. lldpd will be added as a new dependency for xCAT and xCATsn packages. Since lldps does not come from the OS distros, xCAT will put it into the xcat-dep tarball.
Other Design Considerations
- Required reviewers: Guang Cheng, Ting Ting.
- Required approvers: Guang Cheng
- Database schema changes: Yes. Will add switch def object.
- Affect on other components: N/A
- Portability and platforms (HW/SW) supported: N/A
- Performance and scaling considerations: N/A
- Migration and coexistence: N/A
- Serviceability: N/A
- Security: N/A
- NLS and accessibility: N/A
- Invention protection: N/A
News
- Apr 22, 2016: xCAT 2.11.1 released.
- Mar 11, 2016: xCAT 2.9.3 (AIX only) released.
- Dec 11, 2015: xCAT 2.11 released.
- Nov 11, 2015: xCAT 2.9.2 (AIX only) released.
- Jul 30, 2015: xCAT 2.10 released.
- Jul 30, 2015: xCAT migrates from sourceforge to github
- Jun 26, 2015: xCAT 2.7.9 released.
- Mar 20, 2015: xCAT 2.9.1 released.
- Dec 12, 2014: xCAT 2.9 released.
- Sep 5, 2014: xCAT 2.8.5 released.
- May 23, 2014: xCAT 2.8.4 released.
- Jan 24, 2014: xCAT 2.7.8 released.
- Nov 15, 2013: xCAT 2.8.3 released.
- Jun 26, 2013: xCAT 2.8.2 released.
- May 17, 2013: xCAT 2.7.7 released.
- May 10, 2013: xCAT 2.8.1 released.
- Feb 28, 2013: xCAT 2.8 released.
- Nov 30, 2012: xCAT 2.7.6 released.
- Oct 29, 2012: xCAT 2.7.5 released.
- Aug 27, 2012: xCAT 2.7.4 released.
- Jun 22, 2012: xCAT 2.7.3 released.
- May 25, 2012: xCAT 2.7.2 released.
- Apr 20, 2012: xCAT 2.7.1 released.
- Mar 19, 2012: xCAT 2.7 released.
- Mar 15, 2012: xCAT 2.6.11 released.
- Jan 23, 2012: xCAT 2.6.10 released.
- Nov 15, 2011: xCAT 2.6.9 released.
- Sep 30, 2011: xCAT 2.6.8 released.
- Aug 26, 2011: xCAT 2.6.6 released.
- May 20, 2011: xCAT 2.6 released.
- Feb 14, 2011: Watson plays on Jeopardy and is managed by xCAT!
- xCAT Release Notes Summary
- xCAT OS And Hw Support Matrix
- xCAT Test Environment Summary
History
- Oct 22, 2010: xCAT 2.5 released.
- Apr 30, 2010: xCAT 2.4 is released.
- Oct 31, 2009: xCAT 2.3 released.
xCAT's 10 year anniversary! - Apr 16, 2009: xCAT 2.2 released.
- Oct 31, 2008: xCAT 2.1 released.
- Sep 12, 2008: Support for xCAT 2
can now be purchased! - June 9, 2008: xCAT breaths life into
(at the time) the fastest
supercomputer on the planet - May 30, 2008: xCAT 2.0 for Linux
officially released! - Oct 31, 2007: IBM open sources
xCAT 2.0 to allow collaboration
among all of the xCAT users. - Oct 31, 1999: xCAT 1.0 is born!
xCAT started out as a project in
IBM developed by Egan Ford. It
was quickly adopted by customers
and IBM manufacturing sites to
rapidly deploy clusters.