22 Commits

Author SHA1 Message Date
pnetlabrepo
7b73156b1c Update CHANGELOG.md 2023-01-19 07:16:25 -03:00
pnetlabrepo
e5da554158 Update version 2023-01-19 07:14:10 -03:00
pnetlabrepo
e7492cbf67 Update ishare2 2023-01-19 07:13:38 -03:00
pnetlabrepo
6d9f45b56b Update upgrade.sh 2023-01-18 02:43:03 -03:00
pnetlabrepo
89b8e808ed Update README.md 2023-01-18 02:34:21 -03:00
pnetlabrepo
c61e8398e4 Update README.md 2023-01-18 02:33:11 -03:00
pnetlabrepo
27a7e2de7b Update upgrade.sh 2023-01-18 02:30:42 -03:00
pnetlabrepo
c76b832ac6 Update upgrade.sh 2023-01-18 02:29:10 -03:00
pnetlabrepo
bfd2377c8a Update upgrade.sh 2023-01-18 02:19:39 -03:00
pnetlabrepo
3064fdcab2 Update upgrade.sh 2023-01-18 02:19:38 -03:00
pnetlabrepo
3503add54c Update upgrade.sh 2023-01-18 02:11:52 -03:00
pnetlabrepo
cab7df20ff Update upgrade.sh 2023-01-18 02:09:33 -03:00
pnetlabrepo
1b30909d0b Update upgrade.sh 2023-01-18 02:09:15 -03:00
pnetlabrepo
71e9cae4fa Update README.md 2023-01-17 03:47:19 -03:00
pnetlabrepo
dbe22ff781 Update ishare2 2023-01-17 02:14:43 -03:00
pnetlabrepo
95ef408d04 Update version 2023-01-17 02:12:21 -03:00
pnetlabrepo
2c81ae0673 Update ishare2 2023-01-17 02:11:50 -03:00
pnetlabrepo
d5c5869aa8 Update README.md 2023-01-17 02:10:10 -03:00
pnetlabrepo
2fdd1ce655 Update README.md 2023-01-17 02:09:42 -03:00
pnetlabrepo
7bd23fb5db Update CHANGELOG.md 2023-01-17 02:04:54 -03:00
pnetlabrepo
142144bf2e Update CHANGELOG.md 2023-01-17 02:04:29 -03:00
pnetlabrepo
d21fff1c08 Update ishare2 2023-01-17 02:02:44 -03:00
7 changed files with 160 additions and 33 deletions

View File

@@ -1,5 +1,13 @@
# Changelog
All notable changes to this project will be documented in this file. You can upgrade ishare2 to the latest version using `ishare2 upgrade`
All notable changes to this project will be documented in this file. You can upgrade ishare2 to the latest version using `ishare2 upgrade` and then selecting option 1
## [v1.4.9] - 2023-Jan-19
1) Added: This version adds support to PNETLab 6.x related to templates location (AMD and Intel folder locations)
## [v1.4.8] - 2023-Jan-17
1) Added: A menu was added into the `ishare2 upgrade` command. This menu allows users to upgrade ishare2 and PNETLab to their latest versions
## [v1.4.7] - 2023-Jan-16

View File

@@ -18,7 +18,7 @@ Apply this command using the terminal
wget -O /usr/sbin/ishare2 https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/ishare2 > /dev/null 2>&1 && chmod +x /usr/sbin/ishare2 && ishare2
```
Note: There is no need to be in the same directory where *ishare2* file is installed in order to execute it
`Note: There is no need to be in the same directory where ishare2 file is installed in order to execute it`
## ✅ Syntax
@@ -31,7 +31,7 @@ Note: There is no need to be in the same directory where *ishare2* file is insta
labs : Show labs on server and download images for those labs
mylabs : Same as labs command but using a customized path to labs
relicense : Generate a new iourc license for bin images
upgrade : Upgrade ishare2 code to the latest version
upgrade : Retrieves a menu that allows users to upgrade ishare2 and PNETLab VM
changelog : Show the latest changes made to ishare2
help : Show useful information
@@ -104,7 +104,7 @@ Note: There is no need to be in the same directory where *ishare2* file is insta
* For problems, use our Telegram Channel describing your problem and sending a screenshot and/or a video
* For new files to be uploaded, you can also use our Telegram Channel: In this case, you can send or ask for new images to be uploaded
* Using ishare2 upgrade will result in upgrading this utility (ishare2). It will not upgrade your PNETLab Ubuntu VM version
* Using ishare2 upgrade will display a menu that allows users to upgrade ishare2 and PNETLab.
* If CiscoIOUKeygen.py, iourc and/or keepalive.pl files in /opt/unetlab/addons/iol/bin/ are deleted, you can recover them by using ishare2 relicense. This will not affect images in there
Also, this command when used, will generate a new license file called "iourc", needed for bin files
@@ -122,6 +122,8 @@ Note: There is no need to be in the same directory where *ishare2* file is insta
- Upgrade from v4.2.10 to v5.0.1: [Instructions](https://github.com/pnetlabrepo/ishare2/tree/main/upgrades/from_4.2.10_to_5.0.1)
- Upgrade from v4.2.10 to v5.2.7: [Instructions](https://github.com/pnetlabrepo/ishare2/tree/main/upgrades/from_4.2.10_to_5.2.7)
- Upgrade from v5.0.1 to v5.2.7: [Instructions](https://github.com/pnetlabrepo/ishare2/tree/main/upgrades/from_5.0.1_to_5.2.7)
Note: You can also upgrade PNETLab using `ishare2 upgrade`, then using the `option 2` and finally selecting an option from the displayed list
## Known limitations

102
ishare2
View File

@@ -19,6 +19,9 @@ function set_url_constants() {
URL_I86BI_LINUX_L3_YML=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/templates/i86bi_linux_l3/i86bi_linux_l3.yml
URL_C2600_YML=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/templates/cisco/c2600.yml
URL_C1760_YML=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/templates/cisco/c1760.yml
URL_UPGRADE_PNETLAB_FROM_4_2_10_TO_5_0_1=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_4.2.10_to_5.0.1/upgrade.sh
URL_UPGRADE_PNETLAB_FROM_4_2_10_TO_5_2_7=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_4.2.10_to_5.2.7/upgrade.sh
URL_UPGRADE_PNETLAB_FROM_5_0_1_TO_5_2_7=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_5.0.1_to_5.2.7/upgrade.sh
}
function check_user_is_root() {
@@ -45,6 +48,16 @@ function get_initial_information() {
DYNAMIPS_URL=$URL_PREFIX$DYNAMIPS_GID$URL_POSTFIX
}
function get_server_platform() {
grep -q vmx /proc/cpuinfo && echo -n vmx > /opt/unetlab/platform
grep -q svm /proc/cpuinfo && echo -n svm > /opt/unetlab/platform
platform=$(cat /opt/unetlab/platform)
if [[ $platform == "vmx" ]]; then YML_DIR="/opt/unetlab/html/templates/intel/" ; fi
if [[ $platform == "svm" ]]; then YML_DIR="/opt/unetlab/html/templates/amd/" ; fi
}
function set_yml_template_folder_location() {
data=$(mysql -uroot -ppnetlab -D pnetlab_db -e "SELECT control_value FROM control WHERE control_value>1;" 2>/dev/null)
data_array=($data)
@@ -53,13 +66,11 @@ function set_yml_template_folder_location() {
if [[ $pnetlab_version == "4.2.10" ]]; then YML_DIR="/opt/unetlab/html/templates/" ; fi
if [[ $pnetlab_version == "5.2.5" ]] || [[ $pnetlab_version == "5.2.6" ]] || [[ $pnetlab_version == "5.2.7" ]]; then
grep -q vmx /proc/cpuinfo && echo -n vmx > /opt/unetlab/platform
grep -q svm /proc/cpuinfo && echo -n svm > /opt/unetlab/platform
platform=$(cat /opt/unetlab/platform)
if [[ $platform == "vmx" ]]; then YML_DIR="/opt/unetlab/html/templates/intel/" ; fi
if [[ $platform == "svm" ]]; then YML_DIR="/opt/unetlab/html/templates/amd/" ; fi
get_server_platform
fi
if [[ $pnetlab_version == *6.* ]]; then
get_server_platform
fi
}
@@ -940,6 +951,77 @@ function upgrade_ishare2() {
echo "$REMOTE_VALUE" >> /usr/sbin/ishare2_version
}
function menu_ishare2_upgrade_pnetlab() {
prompt="Please, select an option: "
options=(
"Upgrade PNETLab 4.2.10 to 5.0.1"
"Upgrade PNETLab 4.2.10 to 5.2.7"
"Upgrade PNETLab 5.0.1 to 5.2.7"
)
PS3="$prompt"
select opt in "${options[@]}" "Exit"; do
case "$REPLY" in
1)
wget -O upgrade.sh $URL_UPGRADE_PNETLAB_FROM_4_2_10_TO_5_0_1 > /dev/null 2>&1
chmod +x upgrade.sh
bash upgrade.sh
break
;;
2)
wget -O upgrade.sh $URL_UPGRADE_PNETLAB_FROM_4_2_10_TO_5_2_7 > /dev/null 2>&1
chmod +x upgrade.sh
bash upgrade.sh
break
;;
3)
wget -O upgrade.sh $URL_UPGRADE_PNETLAB_FROM_5_0_1_TO_5_2_7 > /dev/null 2>&1
chmod +x upgrade.sh
bash upgrade.sh
break
;;
$((${#options[@]}+1)))
break
;;
*)
STR="Invalid option: Select a number from 1 to 4"
echo -e "${RED}$STR${NO_COLOR}"
continue
;;
esac
done
}
function menu_ishare2_upgrade() {
prompt="Please, select an option: "
options=(
"Upgrade ishare2"
"Upgrade PNETLab"
)
PS3="$prompt"
select opt in "${options[@]}" "Exit"; do
case "$REPLY" in
1)
upgrade_ishare2
break
;;
2)
menu_ishare2_upgrade_pnetlab
break
;;
$((${#options[@]}+1)))
break
;;
*)
STR="Invalid option: Select a number from 1 to 3"
echo -e "${RED}$STR${NO_COLOR}"
continue
;;
esac
done
}
function show_changelog() {
FILE=/root/CHANGELOG.md
if [[ -e $FILE ]]; then rm $FILE ; fi
@@ -1230,7 +1312,7 @@ function show_help_info() {
echo -e "1) For problems, use our Telegram Channel describing your problem and sending a screenshot and/or a video"
echo -e "\n2) For new files to be uploaded, you can use our Telegram Channel too"
echo -e "In this case, you can send or ask for new images to be uploaded"
echo -e "\n3) Using \033[32mishare2 upgrade\033[0m will result in upgrading this utility (ishare2). It will \033[31mnot\033[0m upgrade your PNETLab Ubuntu VM version"
echo -e "\n3) Using \033[32mishare2 upgrade\033[0m will display a menu that allows users to upgrade ishare2 and PNETLab."
echo -e "\n4) If CiscoIOUKeygen.py, iourc and/or keepalive.pl files in /opt/unetlab/addons/iol/bin/ are deleted, you can recover them by using \033[32mishare2 relicense\033[0m. This will not affect images in there."
echo -e "Also, this command when used, will generate a new license file called iourc, needed for bin files"
echo -e "\n5) Don't cancell a download. In case you do it, you will have to remove incomplete files or folders manually"
@@ -1270,7 +1352,7 @@ action:
labs : Show labs on server and download images for those labs
mylabs : Same as labs command but using a customized path to labs
relicense : Generate a new iourc license for bin images
upgrade : Upgrade ishare2 code to the latest version
upgrade : Retrieves a menu that allows users to upgrade ishare2 and PNETLab VM
changelog : Show the latest changes made to ishare2
help : Show useful information
@@ -2058,7 +2140,7 @@ function selector() {
elif [[ "$1" = "relicense" ]]; then # ishare2 relicense
generate_a_new_license
elif [[ "$1" = "upgrade" ]]; then # ishare2 upgrade
upgrade_ishare2
menu_ishare2_upgrade
elif [[ "$1" = "changelog" ]]; then # ishare2 changelog
show_changelog
elif [[ "$1" = "help" ]]; then # ishare2 help

View File

@@ -4,6 +4,12 @@
# Requirement: Having PNETLab 4.2.10 installed for being able to upgrade it to 5.0.1
# This script avoids to make this upgrade process twice
# CONSTANTS
GREEN='\033[32m'
NO_COLOR='\033[0m'
URL_ZIP_FILE=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_4.2.10_to_5.0.1/5.0.1.zip
# Getting PNETLab version from db
data=$(mysql -uroot -ppnetlab -D pnetlab_db -e "SELECT control_value FROM control WHERE control_value>1;" 2>/dev/null)
pnetlab_info=($data)
pnetlab_version=${pnetlab_info[1]}
@@ -18,13 +24,22 @@ if ! [[ $pnetlab_version == "4.2.10" ]]; then
exit 0
fi
echo "Upgrading to v5.0.1"
wget -O /tmp/5.0.1.zip https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_4.2.10_to_5.0.1/5.0.1.zip > /dev/null 2>&1
cd /tmp
rm -rf upgrade
echo -e "${GREEN}Downloading 5.0.1.zip file...${NO_COLOR}"
wget -O /tmp/5.0.1.zip $URL_ZIP_FILE > /dev/null 2>&1
echo -e "${GREEN}Zip file has been downloaded successfully${NO_COLOR}"
cd /tmp && rm -rf upgrade
echo -e "${GREEN}Unzipping zip file...${NO_COLOR}"
unzip 5.0.1.zip -d ./upgrade > /dev/null 2>&1
echo -e "${GREEN}Zip file has been unzipped successfully...${NO_COLOR}"
chmod 755 -R upgrade
find upgrade -type f -print0 | xargs -0 dos2unix > /dev/null 2>&1
echo -e "${GREEN}Upgrading to v5.0.1...${NO_COLOR}"
./upgrade/upgrade
echo -e "${GREEN}Upgrade to v5.0.1 has been done successfully${NO_COLOR}"
rm -rf upgrade
rm 5.0.1.zip

View File

@@ -4,8 +4,13 @@
# Requirement: Having PNETLab 4.2.10 installed for being able to upgrade it to NEW_PNETLAB_VERSION
# This script avoids to make this upgrade process twice
# CONSTANTS
NEW_PNETLAB_VERSION=5.2.7
GREEN='\033[32m'
NO_COLOR='\033[0m'
URL_ZIP_FILE=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_4.2.10_to_$NEW_PNETLAB_VERSION/$NEW_PNETLAB_VERSION.zip
# Getting PNETLab version from db
data=$(mysql -uroot -ppnetlab -D pnetlab_db -e "SELECT control_value FROM control WHERE control_value>1;" 2>/dev/null)
pnetlab_info=($data)
pnetlab_version=${pnetlab_info[1]}
@@ -19,22 +24,27 @@ if ! [[ $pnetlab_version == "4.2.10" ]]; then
echo "You need to have the v4.2.10 to upgrade to the v$NEW_PNETLAB_VERSION"
exit 0
fi
GREEN='\033[32m'
NO_COLOR='\033[0m'
echo -e "${GREEN}Downloading $NEW_PNETLAB_VERSION zip file...${NO_COLOR}"
wget -q --show-progress -O /root/$NEW_PNETLAB_VERSION.zip https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_4.2.10_to_$NEW_PNETLAB_VERSION/$NEW_PNETLAB_VERSION.zip
wget -q --show-progress -O /root/$NEW_PNETLAB_VERSION.zip $URL_ZIP_FILE
echo -e "${GREEN}$NEW_PNETLAB_VERSION zip file has been downloaded successfully${NO_COLOR}"
cd /root
rm -rf upgrade
cd /root && rm -rf upgrade
echo -e "${GREEN}Unzipping zip file...${NO_COLOR}"
unzip $NEW_PNETLAB_VERSION.zip -d ./upgrade > /dev/null 2>&1
echo -e "${GREEN}Zip file has been unzipped successfully...${NO_COLOR}"
chmod 755 -R upgrade
find upgrade -type f -print0 | xargs -0 dos2unix > /dev/null 2>&1
echo -e "${GREEN}Upgrading to v$NEW_PNETLAB_VERSION...${NO_COLOR}"
./upgrade/upgrade
echo -e "${GREEN}Upgrade to v$NEW_PNETLAB_VERSION has been done successfully${NO_COLOR}"
rm -rf upgrade
#rm $NEW_PNETLAB_VERSION.zip
echo -e "${GREEN}PNETLab VM will be rebooted now${NO_COLOR}"
echo -e "${GREEN}PNETLab VM will be rebooted right now...${NO_COLOR}"
echo -e "${GREEN}Try to connect again in about a minute${NO_COLOR}"
reboot

View File

@@ -4,8 +4,13 @@
# Requirement: Having PNETLab 5.0.1 installed for being able to upgrade it to NEW_PNETLAB_VERSION
# This script avoids to make this upgrade process twice
# CONSTANTS
NEW_PNETLAB_VERSION=5.2.7
GREEN='\033[32m'
NO_COLOR='\033[0m'
URL_ZIP_FILE=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_5.0.1_to_$NEW_PNETLAB_VERSION/$NEW_PNETLAB_VERSION.zip
# Getting PNETLab version from db
data=$(mysql -uroot -ppnetlab -D pnetlab_db -e "SELECT control_value FROM control WHERE control_value>1;" 2>/dev/null)
pnetlab_info=($data)
pnetlab_version=${pnetlab_info[1]}
@@ -19,22 +24,27 @@ if ! [[ $pnetlab_version == "5.0.1" ]]; then
echo "You need to have the v5.0.1 to upgrade to the v$NEW_PNETLAB_VERSION"
exit 0
fi
GREEN='\033[32m'
NO_COLOR='\033[0m'
echo -e "${GREEN}Downloading $NEW_PNETLAB_VERSION zip file...${NO_COLOR}"
wget -q --show-progress -O /root/$NEW_PNETLAB_VERSION.zip https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_5.0.1_to_$NEW_PNETLAB_VERSION/$NEW_PNETLAB_VERSION.zip
wget -q --show-progress -O /root/$NEW_PNETLAB_VERSION.zip $URL_ZIP_FILE
echo -e "${GREEN}$NEW_PNETLAB_VERSION zip file has been downloaded successfully${NO_COLOR}"
cd /root
rm -rf upgrade
cd /root && rm -rf upgrade
echo -e "${GREEN}Unzipping zip file...${NO_COLOR}"
unzip $NEW_PNETLAB_VERSION.zip -d ./upgrade > /dev/null 2>&1
echo -e "${GREEN}Zip file has been unzipped successfully...${NO_COLOR}"
chmod 755 -R upgrade
find upgrade -type f -print0 | xargs -0 dos2unix > /dev/null 2>&1
echo -e "${GREEN}Upgrading to v$NEW_PNETLAB_VERSION...${NO_COLOR}"
./upgrade/upgrade
echo -e "${GREEN}Upgrade to v$NEW_PNETLAB_VERSION has been done successfully${NO_COLOR}"
rm -rf upgrade
#rm $NEW_PNETLAB_VERSION.zip
echo -e "${GREEN}PNETLab VM will be rebooted now${NO_COLOR}"
echo -e "${GREEN}PNETLab VM will be rebooted right now...${NO_COLOR}"
echo -e "${GREEN}Try to connect again in about a minute${NO_COLOR}"
reboot

View File

@@ -1 +1 @@
v1.4.7
v1.4.9