sonic-buildimage/platform/vs/sonic-gns3a.sh
Masaru OKI 3a0de981ca
[kvmimae]: Update sonic-gns3a.sh (#4694)
Cleanup description string
First port (management port) are excluded from general port naming scheme.

Management port are excluded from general port naming scheme.

before:
|on GNS3  |in SONiC |
|---------|---------|
|Ethernet0|eth0     |
|Ethernet1|Ethernet0|
|Ethernet2|Ethernet4|
|Ethernet3|Ethernet8|

after:
|on GNS3  |in SONiC |
|---------|---------|
|eth0   |eth0       |
|Ethernet0|Ethernet0|
|Ethernet1|Ethernet4|
|Ethernet2|Ethernet8|

Signed-off-by: Masaru OKI <masaru.oki@gmail.com>
2020-06-04 13:29:36 -07:00

83 lines
1.9 KiB
Bash

#!/bin/bash
# This script creates a .gns3a SONiC appliance file
IMGFILE="sonic-vs.image"
RELEASE="latest"
usage() {
echo "`basename $0` [ -r <ReleaseNumber> ] -b <SONiC VS image: sonic-vs.image>"
echo "e.g.: `basename $0` -r 1.1 -b <store_path>/sonic-vs.image"
exit 0
}
while getopts "r:b:h" arg; do
case $arg in
h)
usage
;;
r)
RELEASE=$OPTARG
;;
b)
IMGFILE=$OPTARG
;;
esac
done
if [ ! -e ${IMGFILE} ]; then
echo "ERROR: ${IMGFILE} not found"
exit 2
fi
MD5SUMIMGFILE=`md5sum ${IMGFILE} | cut -f 1 -d " "`
LENIMGFILE=`stat -c %s ${IMGFILE}`
GNS3APPNAME="SONiC-${RELEASE}.gns3a"
NAMEIMGFILE=`basename $IMGFILE`
echo "
{
\"name\": \"SONiC\",
\"category\": \"router\",
\"description\": \"SONiC Virtual Switch/Router\",
\"vendor_name\": \"SONiC\",
\"vendor_url\": \"https://azure.github.io/SONiC/\",
\"product_name\": \"SONiC\",
\"product_url\": \"https://azure.github.io/SONiC/\",
\"registry_version\": 3,
\"status\": \"experimental\",
\"maintainer\": \"SONiC\",
\"maintainer_email\": \"sonicproject@googlegroups.com\",
\"usage\": \"Supports SONiC release: ${RELEASE}\",
\"first_port_name\": \"eth0\",
\"qemu\": {
\"adapter_type\": \"e1000\",
\"adapters\": 10,
\"ram\": 2048,
\"hda_disk_interface\": \"virtio\",
\"arch\": \"x86_64\",
\"console_type\": \"telnet\",
\"boot_priority\": \"d\",
\"kvm\": \"require\"
},
\"images\": [
{
\"filename\": \"${NAMEIMGFILE}\",
\"version\": \"${RELEASE}\",
\"md5sum\": \"${MD5SUMIMGFILE}\",
\"filesize\": ${LENIMGFILE}
}
],
\"versions\": [
{
\"name\": \"${RELEASE}\",
\"images\": {
\"hda_disk_image\": \"${NAMEIMGFILE}\"
}
}
]
}
" > ${GNS3APPNAME}