Skip to content

etingof/softboxen

Repository files navigation

Network equipment CLI emulator

PyPI Python Versions Build status Coverage Status GitHub license

The goal of softboxen project is to emulate the presence of a large number of network devices (such as switches, routers, modems etc) on the network.

These emulated devices expose their management interfaces and support command-line dialogues in a reasonably convincing way. The main use-case for softboxenis to create a testing environment for network management and automation harness.

For more information on softboxen please refer to user documentation.

How to run example CLI

The easiest way to play with the example CLI (shipped along with main distribution as the softboxen-example-switch) is to run two tox jobs on the softboxen repo - one that starts up REST API server and populates the example model in the DB, and the other that installs example CLI implementation package and runs CLI frontend against REST API server.

In one terminal:

$ tox -e example-restapi -- --keep-running

In the other terminal:

$ tox -e example-restcli

 / ____|      / _| | | |
| (___   ___ | |_| |_| |__   _____  _____ _ __
 \___ \ / _ \|  _| __| '_ \ / _ \ \/ / _ \ '_ \
 ____) | (_) | | | |_| |_) | (_) >  <  __/ | | |
|_____/ \___/|_|  \__|_.__/ \___/_/\_\___|_| |_|


Hint: login credentials: admin/secret

login:admin
Password:secret
Last login on 01.03.2020

Interactive menus will guide you through the implemented commands.

How to add new emulated CLI

For more information on this matter, please refer to the developer's documentation.

How to get softboxen

The softboxen package is distributed under terms and conditions of 2-clause BSD license. Source code is freely available as a GitHub repo.

You could pip install softboxen or download it from PyPI.

If something does not work as expected, open an issue at GitHub.

Copyright (c) 2020, Ilya Etingof. All rights reserved.

Releases

No releases published

Packages