Running Radware Alteon ADC-VA as a Qemu VM in GNS3
Like other vendors, Radware provides virtual versions of its products. Unlikemany other vendors, Radware provides an awesome installer that guides you through a wizard and sets all VM parameters; unfortunately for GNS3 users.
Why? Because this makes creating a GNS3 appliance for Alteon ADCs impossible. Instead, you can add your instance by following the steps in this tutorial.
Environment
The machine I used runs Ubuntu 16.04, having libvirt, qemu, and GNS3 1.5.2 (with GNS3 VM) installed.
Installing the VM
1) Download the image from [http://www.radware.com/resources/softwaredownloads/developersoftware/]. I recommend the developer edition because it doesn’t have a time limit.
2) Extract the downloaded “AlteonVAKVM.zip”. Enter the newly created directory and extract the “AlteonOS-xx-x-x-x_kvm.tgz” (x is the version number).
3) Open a terminal, enter the install/x86_64/bin/ directory, and run the deployer application as root (note: you’ll get a ‘Your ID is not “0”’ if you’re running it as another user); i.e. sudo ./deployer
4) The installer starts.
5) Select libvirt as environment, then click OK.
6) Select “Local” as deployment mode
7) Select a directory. It can be anything (the temp directory, your home folder, etc.) because, when using GNS3 VM, you’ll only need the image file.
8) Enter a VM name; you can leave it on default.
9) Select a mgmt interface. Again, this is used for configuring the VM but not for creating the image and would be required only if you run the VM on your local host. Select any interface you have, then click Next.
10) Select “virtio” for NIC type.
11) Same as Step 9 but this time you have to select the NIC for “production” traffic.
12) Enter the amount of vCPUs and RAM; use any value if you’ll copy the image to the GNS3 VM.
13) CPU NUMA configuration; you can leave the default values.
14) Enter the virtual disk size. This affects the image creation, so make sure you enter the correct value!
15) Allocating vCPUs to each feature. As I saw it doesn’t affect the VM parameters; at least it’s not reflected in the XML output of the VM settings:
[...]
<vcpu placement='static'>4</vcpu>
<cputune>
<vcpupin vcpu='0' cpuset='0'/>
<vcpupin vcpu='1' cpuset='1'/>
<vcpupin vcpu='2' cpuset='2'/>
<vcpupin vcpu='3' cpuset='3'/>
</cputune>
[...]
<cpu mode='custom' match='exact'>
<model fallback='allow'>Westmere</model>
<feature policy='require' name='pdpe1gb'/>
<numa>
<cell id='0' cpus='0-3' memory='8388608' unit='KiB'/>
</numa>
</cpu>
[...]
16) No more inputs, wait until the installation is completed.
17) The created image is owned by root so you have to change its ownership. In my case I issued this command in the directory where the image was put:
adosztal@lab:/tmp$ sudo chown adosztal:adosztal AlteonOS-30-5-0-0.qcow2
18) In GNS3, click on Edit / Preferences. Select “Qemu VMs”, then click on New.
19) Select where you want to run the VM; in my case it was the GNS3 VM.
20) Enter the name of the VM.
21) Assign memory. Make sure you the desired features can be run on that.
22) Browse for the image file. GNS3 will upload the image.
23) Once the image is uploaded, click on Finish. Select the new VM in the list and click on Edit.
24) Change the vCPU value to fit your needs (depends on the used features).
25) Make sure the disk interface is set to “ide” on the HDD tab.
26) On the network tab, change the number of adapters to at least 3, set the first port name, and change the type to virtio.
27) Drag the VM to your topology and boot it up. Default credentials:
CLI: no username, password is admin
WebUI: admin / admin
28) If you’re not running the VM locally but in GNS3 VM, you can remove its configuration:
adosztal@lab:~$ virsh undefine AlteonOS-30-5-0-0
Domain AlteonOS-30-5-0-0 has been undefined