gns3 / gns3-registry Goto Github PK
View Code? Open in Web Editor NEWGNS3 devices registry
License: GNU General Public License v3.0
GNS3 devices registry
License: GNU General Public License v3.0
Create pages for:
Free trial with kvm image available here:
http://www.juniper.net/us/en/dm/free-vsrx-trial/
Don't know what to do, but it's a common query from users.
I can create the appliance file for this LB. I'd need:
Should we automatically extract the OVA to get the needed file for Qemu (VDMK): http://www.unetlab.com/2014/11/juniper-firefly-perimeter-vsrx/
Side note: I don't think it is necessary to convert the vmdk files to qcow2
In line 37 urllib.request.urlopen(req, 5)
should be changed to urllib.request.urlopen(req, timeout=5)
. Furthermore a timeout raises an urllib.error.URLError exception, what gives a wrong error message.
This got undetected because all unhandled exceptions within check_url are not shown. Furthermore an sys.exit within check_url (on an handled exception) leads to a non-ending check.py.
With the following patch, I changed the easily solvable problems. But now a bad URL doesn't stop check.py, the error message can easily be missed. And the unhandled exception problem is not solved.
diff --git a/check.py b/check.py
index e10ceba..dd547ec 100644
--- a/check.py
+++ b/check.py
@@ -34,14 +34,14 @@ def check_url(url, appliance):
try:
print("Check " + url)
req = urllib.request.Request(url, method='HEAD')
- urllib.request.urlopen(req, 5)
+ urllib.request.urlopen(req, timeout=5)
except urllib.error.HTTPError as err:
if err.getcode() >= 400:
print('Error with url ' + url + ' - ' + str(err))
- sys.exit(1)
- except urllib.error.URLError:
- print('Invalid URL ' + url)
- sys.exit(1)
+# sys.exit(1)
+ except urllib.error.URLError as err:
+ print('Error with url ' + url + ' - ' + str(err))
+# sys.exit(1)
def check_appliance(appliance):
Could be usefull for simulating withebox switch.
http://onie.opencompute.org/
https://github.com/opencomputeproject/onie/blob/master/machine/kvm_x86_64/INSTALL
Simulate the modem from internet operators.
Jeremy's last cleanup created some invalid appliances:
cisco-asa.gns3a
cisco-asav.gns3a
cisco-iosv.gns3a
cisco-iosvl2.gns3a
cisco-nxosv.gns3a
vyos.gns3a
@grossmj should really use check.py
http://www.bigswitch.com/community-edition
See if we can integrate these Big Monitoring Fabric and Big Cloud Fabric Community Editions.
check.py could check the download_url and direct_download_url of images. Just doing a HEAD request and checking if the response is < 400 should be enough. That way invalid and outdated URLs would be shown.
It seem easy to support that:
https://github.com/cloudrouter/cloudrouter
They provide a KVM image.
http://mininet.org/vm-setup-notes/
Depending of .ova support #15
An optional field should be added in the JSON file to show some instructions specific to some appliances, to setup an appliance or give some warnings for instance. This could be used to show the default username/password or we could add 2 other fields for that (e.g. default_username and default_password).
Andrew has contributed on the forum the list of SUM:
i86bi-linux-l2-adventerprise-15.1b.bin
MD5 DAD73D4668E03FD0F7F7E04CA16CFA52
SHA1 27EDA968B0172DAD9482D232ED53918652343C1D
i86bi-linux-l2-adventerprisek9-15.1a.bin
MD5 9549A20A7391FB849DA32CAA77A0D254
SHA1 EB80E10058244DFA678ED753A23106ED43A17C9A
i86bi-linux-l2-ipbasek9-15.1a.bin
MD5 E4E78F3926C68FB88AA0D6E797065468
SHA1 527C4986FE60FE0ECAA71B3A5FA4E3077C436B65
i86bi-linux-l2-ipbasek9-15.1b.bin
MD5 667C0608FFF8A6DB353ECBC88FA9C632
SHA1 311FCC147A2EDBBC2CDD3D852C4DA3D62932F8C7
i86bi-linux-l2-ipbasek9-15.1c.bin
MD5 8EE5C697AD8822AF949E2A9621C9388C
SHA1 3310FA43F8C40DBF6D2AAE737CDBE25BDE605634
i86bi-linux-l2-ipbasek9-15.1d.bin
MD5 848BC14E8705CE7B1028ACC9A1652C98
SHA1 279904BC9E0577CEF7690B3E698FBA5F6A18500D
i86bi-linux-l2-ipbasek9-15.1e.bin
MD5 61413ABB51AF12E061A157327E77F19B
SHA1 9B5CFBC52EFD1278F584487EAFAE999DE9D3C8BE
i86bi-linux-l2-ipbasek9-15.1f.bin
MD5 49B2911FB5DE6566A5C31EF6952A0C68
SHA1 A57B5A83CCF9F32B2107F586DAD2E204929C6477
i86bi-linux-l2-ipbasek9-15.1g.bin
MD5 0B8B9E14CA99B68C654E44C4296857BA
SHA1 B542DB04A44D640EF7C05972E9FA2550971D554B
i86bi-linux-l2-upk9-12.2.bin
MD5 A59489ECCF0E4B7C6B002C7562761E98
SHA1 F230B2281568D60F6F3972CD097D79C6FE6D2B18
i86bi-linux-l2-upk9-15.0a.bin
MD5 9B8B06126891082F6E4FA0BD08301D99
SHA1 235E2D0C2656E89BC9E6FF96113748D10A419EFA
i86bi-linux-l2-upk9-15.0b.bin
MD5 06CBEFF3BE86CC6F6C2ECB1D46B6A230
SHA1 56549228FF924C8C7E45BE90FE33E1852C5FA868
i86bi-linux-l3-adventerprisek9-12.4.bin
MD5 7874BC2D91403E1602CE0598CFCE3221
SHA1 F208BE668CB1BC81E64CCA3EAEDFF70245E04514
i86bi-linux-l3-adventerprisek9-15.2.2.03T.bin
MD5 F5BBE7C1B5B1939F34779EB28901289C
SHA1 79138FE35D73A130C56B4982EDF92C7F3B14A4BD
i86bi-linux-l3-adventerprisek9-15.2.2.15T.bin
MD5 E28B308C96DF10D4FD78BCBE80FA684A
SHA1 2E6DF80AFCA36D4279FF1749B303DA5915FE6002
i86bi-linux-l3-adventerprisek9-15.2.4M1.bin
MD5 FB27323F9CDE95C401754149D54A0E57
SHA1 DF78317E615A30980585DA15919B707A0ECD2667
i86bi-linux-l3-adventerprisek9-15.3.1.3T.bin
MD5 270E5A697A81583C58D6A528DD9C2819
SHA1 33D798FC7E5A04A175E75780305E89FE2CD0BBEF
i86bi-linux-l3-adventerprisek9-15.4.1T.bin
MD5 2EABAE17778316C49CBC80E8E81262F9
SHA1 803863BC27BD0BA7D4DCCAA417E116F4259DADD2
i86bi-linux-l3-ipbase-12.4.bin
MD5 3E79A8010A4174DC316A55E6D1886F3C
SHA1 664EB324471269792065506C7D61B607F6E6CC43
i86bi-linux-l3-jk9s-15.0.1.bin
MD5 2F24ECC2E0103EC181EEDA9A2EBC5FE6
SHA1 00A26D28B9375CD5BBA1A200B4BD6330EC091036
i86bi-linux-l3-p-15.0a.bin
MD5 5FBFF0A52623902A3021E1F2431D0DD3
SHA1 139E0F4209CC9BE206390C204A60F0802583BB74
i86bi-linux-l3-p-15.0b.bin
MD5 9145B1CA42F9291EDA66D474A44252DE
SHA1 C7AA5CB2A537E5EDD4C12CB89F889965837DCE1B
i86bi-linux-l3-tpgen-adventerprisek9-12.4.bin
MD5 7BE10C61C63B1490934AA0763360F846
SHA1 0AD98B4AAA5DDC40DF3DD198B2E78F93F204DDF8
i86bi-linux-l3-tpgen-ipbase-12.4.bin
MD5 EF946514D336A8CFE7B7D7FAF4EE4B75
SHA1 C780BE8A3330715BFA07A5929A562C731FB26819
Sometimes you need a browser inside your topologies. My proposal is to ship a small appliance based on TinyCore with a firefox presintalled.
For example checkpoint require it for finishing the configuration:
#12
The current tinycore-linux appliance is a leftover from my initial tinycore packer implementation. The current tinycore-linux appliance should use the output of the tinycore-linux.json packer. Then it would be a basic TinyCore linux with GUI.
Even though the old qemu versions of windows and OS X are deprecated, some light weight applications may still be valuable for them.
But qemu 0.x has 2 deficits:
qemu-img convert -O qcow2 -o compat=0.10
newer qemu versions can create images compatible to qemu 0.xAs we are at the beginning of collecting application we still have the chance for qemu 0.x compatibility for some light weight applications.
Is qemu 0.x compatibilty an issue? Or is qemu 2.x accepted as a minimum requirement?
How should we handle the appliance symbols?
Currently in GNS3 we have built-in symbols and custom ones. When a user adds a device that has a custom symbol, this symbol is copied to the project directory so the project can be easily shared. We do not have a local directory to store custom symbols.
Should we assume that for all appliance we add, we have a built-in symbol in GNS3? Like done in:
https://github.com/GNS3/gns3-registry/blob/master/devices/cumulus-vx.json#L13
This is the most simple solution.
We could also have symbol files that come with the appliance images... This could be an option, if no custom symbol is provided we revert back to the default built-in symbol specified in the json file.
Why this old versions?
I can understand, when people are using MicroCore V4.x (latest is 4.7.7), as more extensions are available than for 6.x. But 3.4.1 and 4.0.2 are really old.
Brezular has some really nice stuff at http://brezular.com/2013/09/17/linux-core-appliances-download/ . I suggest to use the 6.3 version (must be converted from vmdk to qcow2 and then uploaded to sourceforge) and the 4.7.7 version.
Furthermore his Quagga, Openvswitch and Bird version looks interesting as well.
It's already supported in the gui
GNS3/gns3-gui#898
I'm not sure if name and and product_name are not the exact same fields.
With the release of TinyCore 6.4.1 the download location of .../release/Core-6.4.iso has changed to .../archive/6.4/Core-6.4.iso .
Affected files:
So there are two options:
I suggest to change to the archive location of 6.4, otherwise on each new TinyCore version the ISO URL has be changed. Drawback is, of course, that the images are not build with the actual TinyCore version.
the f5 gnsa that is used supports only big-ip 12.0.0 and big-ip 11.6.0
version but F5 offers an free version of the bip-ip and that is bip-ip 11.3.0.
can you please change this in the gnsa appliance to support also version 11.3.0
$ python3 build.py
2015-08-04 21:59:19,104 INFO Build index.html
2015-08-04 21:59:19,110 INFO Build chat.html
2015-08-04 21:59:19,113 INFO Build downloads.html
Process microcore-linux.json
2015-08-04 21:59:19,117 INFO Build devices/microcore-linux.html
{'category': 'guest', 'vendor_url': 'http://distro.ibiblio.org/tinycorelinux', 'maintainer': 'GNS3 Team', 'maintainer_email': '[email protected]', 'documentation_url': 'http://wiki.tinycorelinux.net/', 'name': 'Micro Core Linux', 'repository_version': 1, 'vendor_name': 'Team Tiny Core', 'versions': [{'name': '3.4.1', 'images': {'hda_disk_image': {'download_url': 'https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/', 'version': '3.4.1', 'md5sum': 'fa2ec4b1fffad67d8103c3391bbf9df2', 'filename': 'linux-microcore-3.4.1.img', 'type': 'hda_disk_image', 'direct_download_url': 'http://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/linux-microcore-3.4.1.img'}}}, {'name': '4.0.2', 'images': {'hda_disk_image': {'download_url': 'https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/', 'version': '4.0.2', 'md5sum': 'e13d0d1c0b3999ae2386bba70417930c', 'filename': 'linux-microcore-4.0.2-clean.img', 'type': 'hda_disk_image', 'direct_download_url': 'http://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/linux-microcore-4.0.2-clean.img'}}}], 'product_url': 'http://distro.ibiblio.org/tinycorelinux', 'images': [{'filename': 'linux-microcore-3.4.1.img', 'download_url': 'https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/', 'direct_download_url': 'http://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/linux-microcore-3.4.1.img', 'md5sum': 'fa2ec4b1fffad67d8103c3391bbf9df2', 'version': '3.4.1'}, {'filename': 'linux-microcore-4.0.2-clean.img', 'download_url': 'https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/', 'direct_download_url': 'http://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/linux-microcore-4.0.2-clean.img', 'md5sum': 'e13d0d1c0b3999ae2386bba70417930c', 'version': '4.0.2'}], 'qemu': {'processor': 'i386', 'adapter_type': 'e1000', 'ram': 32, 'graphic': False, 'adapters': 1}, 'status': 'stable', 'product_name': 'Micro Core Linux', 'id': 'microcore-linux'}
2015-08-04 21:59:19,131 INFO Build images/fa2ec4b1fffad67d8103c3391bbf9df2.html
2015-08-04 21:59:19,149 INFO Build images/e13d0d1c0b3999ae2386bba70417930c.html
Process hp-vsr1001.json
2015-08-04 21:59:19,163 INFO Build devices/hp-vsr1001.html
{'category': 'router', 'vendor_url': 'http://www.hp.com', 'maintainer': 'GNS3 Team', 'maintainer_email': '[email protected]', 'documentation_url': 'http://h20564.www2.hp.com/portal/site/hpsc/public/psi/home/?sp4ts.oid=5443163', 'name': 'HP VSR1001', 'repository_version': 1, 'vendor_name': 'HP', 'versions': [{'name': '7.10.R0204P01', 'images': {'cdrom': {'filename': 'VSR1000_HP-CMW710-R0204P01-X64.iso', 'type': 'cdrom', 'download_url': 'https://h10145.www1.hp.com/Downloads/DownloadSoftware.aspx?SoftwareReleaseUId=11832&ProductNumber=JG811AAE&lang=en&cc=us&prodSeriesId=5443163&OrderNumber=&PurchaseDate=', 'version': '7.10.R0204P01', 'md5sum': 'd0b539f3ba9723ad8c3ed46f6d772627'}}}], 'product_url': 'http://www8.hp.com/us/en/products/networking-routers/product-detail.html?oid=5443163', 'images': [{'filename': 'VSR1000_HP-CMW710-R0204P01-X64.iso', 'download_url': 'https://h10145.www1.hp.com/Downloads/DownloadSoftware.aspx?SoftwareReleaseUId=11832&ProductNumber=JG811AAE&lang=en&cc=us&prodSeriesId=5443163&OrderNumber=&PurchaseDate=', 'md5sum': 'd0b539f3ba9723ad8c3ed46f6d772627', 'version': '7.10.R0204P01'}], 'qemu': {'install_instructions': '* Wait for boot\n* Run fresh install\n* Say yes to reboot\nClose the window after reboot success', 'install_cdrom_to_hda': True, 'processor': 'x64', 'hda_disk_image': 'vsr1000-hp.img', 'graphic': True, 'hda_disk_size': '8G', 'adapters': 16, 'adapter_type': 'e1000', 'kvm': True, 'ram': 1024}, 'status': 'stable', 'product_name': 'VSR1001', 'id': 'hp-vsr1001'}
2015-08-04 21:59:19,179 INFO Build images/d0b539f3ba9723ad8c3ed46f6d772627.html
Process arista-veos.json
2015-08-04 21:59:19,193 INFO Build devices/arista-veos.html
{'category': 'router', 'vendor_url': 'http://www.arista.com/', 'maintainer': 'GNS3 Team', 'maintainer_email': '[email protected]', 'documentation_url': 'http://www.arista.com/docs/Manuals/ConfigGuide.pdf', 'name': 'Arista vEOS', 'repository_version': 1, 'vendor_name': 'Arista', 'versions': [{'name': '4.13.8M', 'images': {'hda_disk_image': 'Aboot-veos-2.1.0.iso', 'hdb_disk_image': {'filename': 'vEOS-lab-4.13.8M.vmdk', 'type': 'hdb_disk_image', 'download_url': 'https://www.arista.com/en/support/software-download', 'version': '4.13.8M', 'md5sum': 'a47145b9e6e7a24171c0850f8755535e'}}}], 'product_url': 'https://eos.arista.com/', 'images': [{'filename': 'Aboot-veos-serial-2.1.0.iso', 'download_url': 'https://www.arista.com/en/support/software-download', 'md5sum': '2687534f2ff11b998dec0511066457c0', 'version': '2.1.0'}, {'filename': 'vEOS-lab-4.13.8M.vmdk', 'download_url': 'https://www.arista.com/en/support/software-download', 'md5sum': 'a47145b9e6e7a24171c0850f8755535e', 'version': '4.13.8M'}], 'qemu': {'kvm_support': True, 'adapter_type': 'e1000', 'graphic': False, 'processor': 'x64', 'ram': 2048, 'adapters': 8}, 'status': 'stable', 'product_name': 'Arista vEOS', 'id': 'arista-veos'}
Traceback (most recent call last):
File "build.py", line 109, in <module>
image_device['versions'] = keep_only_version_with_device(image['md5sum'], device)
File "build.py", line 70, in keep_only_version_with_device
if image["md5sum"] == md5sum:
TypeError: string indices must be integers
Chekpoint Gaia is the OS from Checkpoint appliance. It can be installed on "open devices" like dell servers.
An ISO is available here but only for customers:
https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&solutionid=sk97617
Require informations:
I'm just preparing the next-gen ostinato VM, see https://github.com/ehlers/gns3-registry/commit/25ad2334684e0f0fea70385dbb9840814f6605db. It's for the upcoming 0.8 release of ostinato, which will probably take some time.
Now I'm thinking of additionally including the GUI in the VM. That will make it much easier to use it for the occasional user. But of course it will increase the size of the VM. The experienced user can still use an ostinato GUI on his local OS.
@noplay, what do you think?
When the project will be public add Travis in order to check the PR. We just need to call the check.py script.
The registry wants them in the "Empty Qemu disk" directory, on SourceForge they are in the "Qemu Appliances" directory. The 8G disk is in the right place at SourceForge.
Furthermore in the URLs I would replace the spaces by %20
/Users/behlers/GNS3/source/gns3-registry# grep empty.*qcow appliances/* | grep direct
appliances/a10-vthunder.gns3a: "direct_download_url": "http://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty30G.qcow2/download"
appliances/checkpoint-gaia.gns3a: "direct_download_url": "http://downloads.sourceforge.net/project/gns-3/Empty Qemu disk/empty8G.qcow2"
appliances/cisco-asa.gns3a: "direct_download_url": "http://downloads.sourceforge.net/project/gns-3/Empty Qemu disk/empty8G.qcow2"
appliances/f5-bigip.gns3a: "direct_download_url": "http://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty100G.qcow2/download"
appliances/fortigate.gns3a: "direct_download_url": "http://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty30G.qcow2/download"
appliances/hp-vsr1001.gns3a: "direct_download_url": "http://downloads.sourceforge.net/project/gns-3/Empty Qemu disk/empty8G.qcow2"
appliances/vyos.gns3a: "direct_download_url": "http://downloads.sourceforge.net/project/gns-3/Empty Qemu disk/empty8G.qcow2"
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.