Skip to content

Adds: DENT-GNS3-Appliance#31

Open
KorelU wants to merge 3 commits intodentproject:masterfrom
KorelU:DENT-GNS3-Appliance
Open

Adds: DENT-GNS3-Appliance#31
KorelU wants to merge 3 commits intodentproject:masterfrom
KorelU:DENT-GNS3-Appliance

Conversation

@KorelU
Copy link

@KorelU KorelU commented Dec 11, 2024

Adds a link to the files for setting up the DENT GNS3 Appliance to the ReadMe of the dent-artifacts repo. The files include the disk image, XML configuration, and related artifacts hosted using a view only link from OneDrive. Information on how to set up the GNS3 Appliance is also included.

Adds a link to the files for setting up the DENT GNS3 Appliance to the ReadMe of the dent-artifacts repo. The files include the disk image, XML configuration, and related artifacts hosted using a view only link from OneDrive. Information on how to set up the GNS3 Appliance is also included.

Signed-off-by: Korel <Korelucpinar@gmail.com>
@paulmenzel
Copy link

Sorry, I never heard of GNS3. What is it and how does it relate to dentOS?

@KorelU
Copy link
Author

KorelU commented Dec 13, 2024

Sorry, I never heard of GNS3. What is it and how does it relate to dentOS?

GNS3 (Graphical Network Simulator-3) is an open-source network simulation tool used to emulate network topologies.

In the context of DENT, the GNS3 Appliance allows users to simulate and test DENT network configurations before deploying them on physical hardware. This can be particularly helpful for troubleshooting or learning about DENT without having a physical device available.

The files included in this update provide the necessary resources (disk image, XML configuration, GNS3 Appliance File) to set up a GNS3 Appliance configured for DENT. The purpose of this addition was to make it easier for users to experiment with the DENT OS.

Members of DENT are actively exploring alternative hosting options for the dentOS GNS3 appliance. Unfortunately, the binary files are too large to upload directly to the repository. GitHub imposes a 100 MB limit for individual files, and while Git LFS can sometimes be used for larger files, it only applies to public forks if the repository network already has Git LFS objects or if the user has write access to the root of the repository.

Copy link

@paulmenzel paulmenzel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for taking the time to make dentOS available on GNS3, and sending this upstream.

Comment on lines 14 to 18
### Dent GNS3 Appliance

All necessary files for setting up the DENT GNS3 Appliance, including the disk image, XML configuration, and related artifacts can be found here: [DENT GNS3 Appliance](https://1drv.ms/f/c/b4d5fd54a1a7d444/EkTUp6FU_dUggLQdrwAAAAABU-4TzozwwGtsV7u5ib1Q0A?e=mEEETi)

For information on how to set up the DENT GNS3 Appliance in GNS3 please view the [DENT DOCS](https://docs.dent.dev/Installation.html) No newline at end of file

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. I don’t think we want to link to some third party cloud share. No idea about alternatives. Maybe the DENT infrastructure.
  2. It’d be great if you elaborated as you did in the answer to my comment.
  3. Lastly, an additional guide is needed how the image was produced, so that your steps are reproducible.

Copy link
Author

@KorelU KorelU Dec 14, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Members of the DENT community are actively discussing alternative hosting locations.
  2. I have elaborated on the hosting concern in the answer to your comment.
  3. I will see if I can provide more information on how the image was produced.

Copy link
Author

@KorelU KorelU Dec 17, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@paulmenzel I have added a guide in the comments to provide information on how the image was produced and so that the steps are reproducible. Let me know if you would like me to place them somewhere else or clarify anything. I appreciate your feedback.

@KorelU
Copy link
Author

KorelU commented Dec 14, 2024

Thank you for taking the time to make dentOS available on GNS3, and sending this upstream.

Please note, all credit should be given to @taraschornyiplv for sharing these and taking the time to make dentOS available on GNS3.

@KorelU
Copy link
Author

KorelU commented Dec 17, 2024

Hi Everyone,

The following is a guide to reproduce the steps in generating the DENT GNS3 Appliance.

Step 1 Build ONIE iso Image

In order to run DENT on a qemu/KVM, you will need to first build an ONIE iso image. At the time of writing, DUE is the recommended environment for building ONIE, and it has been used for debugging and release generation since 2019.

For information on building ONIE visit: ONIE Build Instructions

The following article also outlines the build process for VMs, and I found it helpful when learning to build the ONIE iso image: Building and Installing ONIE on KVM/QEMU (Open Network Install Environment) with DUE

Step 2 Install DENT for x86 on the VM

After you build the ONIE iso image download the Version of DENT you want to install and run as a VM. Different release versions can be found here: DENTOS Releases. The version included in this appliance is from DENT 3.2

Next, install and run virt-manager.

image

Then follow the steps listed on the dentOS wiki to create and install DENT on a VM: How-to-install-DENT-on-a-virtual-machine.

Additional Information is provided below to help users install DENT on a VM:

Since the "Debian Lenny" version mentioned in the documentation was no longer available, I opted to use the "Generic or unknown OS" instead. I also tested with the "Generic Linux 2022" version, both of which worked well for creating the DENT-VM.

image

In order to add the Serial Device, at the bottom left select Add Hardware->Serial->Finish. Once the Serial is added configure a bind to your host machine. The example documentation uses port 40031.

image.

I ended up setting a TCP connection. If you need a reference XML for this you may use the following

image

Once the VM has started running Open a new console on your device and use telnet to access the local host at port 40031.

Ex. $ telnet 127.0.0.1 40031

To login to ONIE
Username: root
Password: onie

To login to DENT
Username: root
Password: onl

Follow the steps listed in How-to-install-DENT-on-a-virtual-machine, until you see the following:

image

Step 3 Create GNS3 Appliance using the SONiC Script

Once you have installed DENT on a VM for x86 use the following script to create the gns3 appliance:

https://github.com/sonic-net/sonic-buildimage/blob/master/platform/vs/sonic-gns3a.sh

The file sonic-gns3a.sh in the SONiC (Software for Open Networking in the Cloud) repository is a shell script that is designed to set up a Virtual Switch (VS) environment for testing and simulation purposes, specifically tailored for use with GNS3 (Graphical Network Simulator-3).

How to Use the Script

EX.

./script_name.sh -r "3.2" -b "/path/to/dent-vm.qcow2"

-r: Specify the release version (e.g., 3.2).
-b: Specify the path to the dent-vm.qcow2.

After running the script you will now have a GNS3 appliance for DENT.

To find the .qcow2 source path used in the script visit the settings of the virtual machine where the DENT VM was installed:
EX.
image

Step 4 Gather DENT GNS3 Appliance file, dent-vm.qcow2 image and virt-manager XML file, into a single Directory

Finally, create a new directory and add the following content to the directory:

  1. The Newly Created DENT GNS3 Appliance File

Move the newly created DENT GNS3 Appliance File you made using the script to the new directory.

  1. The dent-vm.qcow2 used in the DENT VM

Copy the dent-vm.qcow2 used in the VM you made to the new directory as well.

  1. The virt-manager XML File of the DENT VM

Copy the contents from the setting of the DENT VM Overview XML into a .xml file.

EX.
To find the XML file visit the settings of the DENT VM and look at the overview

image

These are all the files you will need to create a GNS3 appliance of the DENT VM. For information on how to import the appliance visit the official DENT Documentation

I hope this helps feel free to reach out for further clarification.

Thanks,
Korel Ucpinar

Reverts Changes to organizaiton of Firmware Packages & dentOS Tool Version list

Signed-off-by: Korel <Korelucpinar@gmail.com>
This commit updates the GNS3-VM location. The GNS3-VM can now be found alongside the official releases of DENT-3.2 as posted in the releases of the dentproject/dentOS repository

Signed-off-by: Korel <Korelucpinar@gmail.com>
@KorelU
Copy link
Author

KorelU commented Jan 22, 2025

Hey @paulmenzel,

I wanted to reach out to let you know we were able to update the location of the DENT3.2 -VM to be posted alongside the prebuilt binaries under the official releases (https://github.com/dentproject/dentOS/releases/tag/v3.2).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants