Enable --custom files to import ONOSCLI

Since --custom files are execed, subsequently importing them
actually creates duplicate classes. This wouldn't be a problem
except that we depend on isinstance(). As a workaround, we allow
the class name to match if isinstance() fails, assuming it will
be a class that is compatible with ONOSCluster or ONOSNode.

Example: env PYTHONPATH=. mn --custom onos.py,mytest.py

where mytest.py imports onos

Change-Id: Ib4cda82fbdd612420de1e113ab768e2f137d5213
1 file changed
tree: 9b68a65497e6cdc911222b58d8eaa3cbeab915d4
  1. .buckconfig
  2. .gitignore
  3. .gitreview
  4. BUCK
  5. LICENSE.txt
  6. README.md
  7. apps/
  8. buck-tools/
  9. bucklets/
  10. cli/
  11. core/
  12. docs/
  13. drivers/
  14. features/
  15. incubator/
  16. lib/
  17. modules.defs
  18. onos.defs
  19. pom.xml
  20. protocols/
  21. providers/
  22. tools/
  23. utils/
  24. web/

ONOS : Open Network Operating System

What is ONOS?

ONOS is a new SDN network operating system designed for high availability, performance, scale-out.

Top-Level Features

  • High availability through clustering and distributed state management.
  • Scalability through clustering and sharding of network device control.
  • Performance that is good for a first release, and which has an architecture that will continue to support improvements.
  • Northbound abstractions for a global network view, network graph, and application intents.
  • Pluggable southbound for support of OpenFlow and new or legacy protocols.
  • Graphical user interface to view multi-layer topologies and inspect elements of the topology.
  • REST API for access to Northbound abstractions as well as CLI commands.
  • CLI for debugging.
  • Support for both proactive and reactive flow setup.
  • SDN-IP application to support interworking with traditional IP networks controlled by distributed routing protocols such as BGP.
  • IP-Optical use case demonstration.

Checkout out our website and our tools