This is Hackathon BrewIT'24 Project. The primary goal of this app was to help Systest Team to make Lab Requests with visual interface to get rid of time consuming and manual work of drafting Lab Requests.
AristaLabRequestor is a web application designed to streamline the process of managing and generating network lab configurations, specifically tailored for Arista ACT Labs and SysTest Team lab requests. It provides a visual interface for editing existing YAML-based lab topologies and facilitates the creation of new lab requests, significantly enhancing efficiency and reducing manual errors in lab setup workflows.
-
Visual ACT Lab Topology Editor:
- Load Existing Configurations: Easily import existing ACT Lab YAML configuration files directly into the application.
- Interactive Canvas: Visually represent and manipulate network topologies on an intuitive canvas. Drag, drop, connect, and configure devices with ease.
- Real-time Editing: Modify device configurations, interface connections, and other topology parameters through a user-friendly graphical interface.
- Download Updated YAML: Export the visually edited lab topology back into a standard ACT Lab YAML file, ready for deployment or version control.
-
SysTest Lab Request Generator:
- Streamlined Request Creation: Generate standardized lab requests for the SysTest Team, ensuring all necessary information is captured consistently.
- Automated Formatting: Reduce manual effort and potential errors in formatting lab request documents.
-
User-Friendly Settings Menu:
- Customize application preferences for a personalized and efficient workflow.
-
Upcoming Feature: Load Existing SysTest Lab Requests:
- The ability to import and review previously generated SysTest Lab Request files will be added soon, providing a comprehensive history and easy modification of past requests.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Just in case you're into testing.
NodeJS
Cypress
Otherwise knowledge of git
and javascript
is enough.
-
No Need to Install Just access it from this URL
-
Clone the repository:
git clone https://github.com/HenilMistry/AristaLabRequestor.git cd AristaLabRequestor
-
Install dependencies:
- Install NodeJS
- Install Cypress
There are few tools. As shown below in the image and those are described from left - to - right as follow:
-
Node Tool a. This can be used to create nodes on the canvas. b. After creating nodes, it can be used to open Node Configuration Modal by double clicking on nodes.
-
Connection Tool a. This can be used to create connections of nodes. b. Later, the connections can be modified from Node Configuration modal.
-
Output Tool a. This can be used to generate desired lab request format. b. The lab request format can be selected from "Settings Tool" from within the "Topology Comfiguraion" Section.
-
Settings Tool a. This can be used to configure key bindings, topology settings and other useful stuff. b. This can be used to manage saved topologies and load existing once.
-
User Manual / Help Tool a. This can be used to view Help Section for this App.
-
Report an Issue / Issue Tool a. This can be used to report and issue on GitHub.
- Click on the "Settings" button in the application interface.
- Click on "Upload" (Gree Coloured) button from "Topology Configuration" section.
- From "Upload Topology" modal, select the type of file as "Existing YAML".
- Click on "Upload Topology" button and select the file which you want to upload.
- Drag & Drop: Move devices around the canvas to rearrange the layout.
- Add Devices/Connections: Use the toolbox (Node Tool) to add new devices or draw connections (Connection Tool) between existing ones.
- Configure Devices: Double Click on a device (Nodes) to open its configuration panel. Edit parameters and configure.
- Edit Connections: From Node Configuration, Click on a connection to modify its properties (e.g., link type, bandwidth).
- Once you're satisfied with your edits, click on "Settings" Tool.
- Make sure that you have selected "ACT Lab - YAML File" for Code Generation Format under "Topology Configuration" Section.
- Now click on "Save Settings" to save.
- Once done, you can click on "Output Tool" which will prompt you the output of currect topology.
- You can click on "Copy to clipboard" button to copy that file.
See Above for a video demo.
- Add Nodes, Add Connections.
- Once you're ready with your topology, click on "Output Tool".
- You can click on "Copy to clipboard" button to copy that file.
- Access the "Settings" tool from Tools Section.
- You can configure Key Shortcuts for certain actions from "Key Bindings" section.
- You can choose the custom node images from "Canvas Utilities" section.
- You can manage saved topologies or load existing once using "Topology Configuration" section.
We welcome contributions to AristaLabRequestor! If you'd like to contribute, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature-name
). - Make your changes.
- Commit your changes (
git commit -m 'Add new feature'
). - Push to the branch (
git push origin feature/your-feature-name
). - Open a Pull Request.
Please ensure your code adheres to the project's coding standards and includes appropriate tests.
Developed with ❤️ by Henil Mistry