mirror of
https://github.com/GNS3/gns3-server
synced 2024-11-28 03:08:14 +00:00
changes self.d to self.display so it would be more intuitive.
This commit is contained in:
parent
e44999f588
commit
ac042b02c4
@ -35,11 +35,11 @@ class Welcome_dialog():
|
|||||||
except locale.Error:
|
except locale.Error:
|
||||||
# Not supported via SSH
|
# Not supported via SSH
|
||||||
pass
|
pass
|
||||||
self.d = Dialog(dialog="dialog", autowidgetsize=True)
|
self.display = Dialog(dialog="dialog", autowidgetsize=True)
|
||||||
if self.gns3_version() is None:
|
if self.gns3_version() is None:
|
||||||
self.d.set_background_title("GNS3")
|
self.display.set_background_title("GNS3")
|
||||||
else:
|
else:
|
||||||
self.d.set_background_title("GNS3 {}".format(self.gns3_version()))
|
self.display.set_background_title("GNS3 {}".format(self.gns3_version()))
|
||||||
|
|
||||||
def get_ip(self):
|
def get_ip(self):
|
||||||
"""
|
"""
|
||||||
@ -128,13 +128,13 @@ class Welcome_dialog():
|
|||||||
|
|
||||||
|
|
||||||
def mode(self):
|
def mode(self):
|
||||||
if self.d.yesno("This feature is for testers only. You may break your GNS3 installation. Are you REALLY sure you want to continue?", yes_label="Exit (Safe option)", no_label="Continue") == self.d.OK:
|
if self.display.yesno("This feature is for testers only. You may break your GNS3 installation. Are you REALLY sure you want to continue?", yes_label="Exit (Safe option)", no_label="Continue") == self.display.OK:
|
||||||
return
|
return
|
||||||
code, tag = self.d.menu("Select the GNS3 version",
|
code, tag = self.display.menu("Select the GNS3 version",
|
||||||
choices=[("2.1", "Stable release for this GNS3 VM (RECOMMENDED)"),
|
choices=[("2.1", "Stable release for this GNS3 VM (RECOMMENDED)"),
|
||||||
("2.1dev", "Development version for stable release"),
|
("2.1dev", "Development version for stable release"),
|
||||||
("2.2", "Latest stable release")])
|
("2.2", "Latest stable release")])
|
||||||
self.d.clear()
|
self.display.clear()
|
||||||
if code == Dialog.OK:
|
if code == Dialog.OK:
|
||||||
os.makedirs(os.path.expanduser("~/.config/GNS3"), exist_ok=True)
|
os.makedirs(os.path.expanduser("~/.config/GNS3"), exist_ok=True)
|
||||||
with open(os.path.expanduser("~/.config/GNS3/gns3_release"), "w+") as f:
|
with open(os.path.expanduser("~/.config/GNS3/gns3_release"), "w+") as f:
|
||||||
@ -163,11 +163,11 @@ class Welcome_dialog():
|
|||||||
|
|
||||||
def update(self, force=False):
|
def update(self, force=False):
|
||||||
if not force:
|
if not force:
|
||||||
if self.d.yesno("PLEASE SNAPSHOT THE VM BEFORE RUNNING THE UPGRADE IN CASE OF FAILURE. The server will reboot at the end of the upgrade process. Continue?") != self.d.OK:
|
if self.display.yesno("PLEASE SNAPSHOT THE VM BEFORE RUNNING THE UPGRADE IN CASE OF FAILURE. The server will reboot at the end of the upgrade process. Continue?") != self.display.OK:
|
||||||
return
|
return
|
||||||
release = self.get_release()
|
release = self.get_release()
|
||||||
if release == "2.2":
|
if release == "2.2":
|
||||||
if self.d.yesno("It is recommended to run GNS3 version 2.2 with lastest GNS3 VM based on Ubuntu 18.04 LTS, please download this VM from our website or continue at your own risk!") != self.d.OK:
|
if self.display.yesno("It is recommended to run GNS3 version 2.2 with lastest GNS3 VM based on Ubuntu 18.04 LTS, please download this VM from our website or continue at your own risk!") != self.display.OK:
|
||||||
return
|
return
|
||||||
if release.endswith("dev"):
|
if release.endswith("dev"):
|
||||||
ret = os.system("curl -Lk https://raw.githubusercontent.com/GNS3/gns3-vm/unstable/scripts/update_{}.sh > /tmp/update.sh && bash -x /tmp/update.sh".format(release))
|
ret = os.system("curl -Lk https://raw.githubusercontent.com/GNS3/gns3-vm/unstable/scripts/update_{}.sh > /tmp/update.sh && bash -x /tmp/update.sh".format(release))
|
||||||
@ -183,16 +183,16 @@ class Welcome_dialog():
|
|||||||
Migrate GNS3 VM data.
|
Migrate GNS3 VM data.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
code, option = self.d.menu("Select an option",
|
code, option = self.display.menu("Select an option",
|
||||||
choices=[("Setup", "Configure this VM to send data to another GNS3 VM"),
|
choices=[("Setup", "Configure this VM to send data to another GNS3 VM"),
|
||||||
("Send", "Send images and projects to another GNS3 VM")])
|
("Send", "Send images and projects to another GNS3 VM")])
|
||||||
self.d.clear()
|
self.display.clear()
|
||||||
if code == Dialog.OK:
|
if code == Dialog.OK:
|
||||||
(answer, destination) = self.d.inputbox("What is IP address or hostname of the other GNS3 VM?", init="172.16.1.128")
|
(answer, destination) = self.display.inputbox("What is IP address or hostname of the other GNS3 VM?", init="172.16.1.128")
|
||||||
if answer != self.d.OK:
|
if answer != self.display.OK:
|
||||||
return
|
return
|
||||||
if destination == self.get_ip():
|
if destination == self.get_ip():
|
||||||
self.d.msgbox("The destination cannot be the same as this VM IP address ({})".format(destination))
|
self.display.msgbox("The destination cannot be the same as this VM IP address ({})".format(destination))
|
||||||
return
|
return
|
||||||
if option == "Send":
|
if option == "Send":
|
||||||
# first make sure they are no files belonging to root
|
# first make sure they are no files belonging to root
|
||||||
@ -202,9 +202,9 @@ class Welcome_dialog():
|
|||||||
ret = os.system('bash -c "{}"'.format(command))
|
ret = os.system('bash -c "{}"'.format(command))
|
||||||
time.sleep(10)
|
time.sleep(10)
|
||||||
if ret != 0:
|
if ret != 0:
|
||||||
self.d.msgbox("Could not send data to the other GNS3 VM located at {}".format(destination))
|
self.display.msgbox("Could not send data to the other GNS3 VM located at {}".format(destination))
|
||||||
else:
|
else:
|
||||||
self.d.msgbox("Images and projects have been successfully sent to the other GNS3 VM located at {}".format(destination))
|
self.display.msgbox("Images and projects have been successfully sent to the other GNS3 VM located at {}".format(destination))
|
||||||
elif option == "Setup":
|
elif option == "Setup":
|
||||||
script = """
|
script = """
|
||||||
if [ ! -f ~/.ssh/gns3-vm-key ]
|
if [ ! -f ~/.ssh/gns3-vm-key ]
|
||||||
@ -216,19 +216,19 @@ class Welcome_dialog():
|
|||||||
ret = os.system('bash -c "{}"'.format(script))
|
ret = os.system('bash -c "{}"'.format(script))
|
||||||
time.sleep(10)
|
time.sleep(10)
|
||||||
if ret != 0:
|
if ret != 0:
|
||||||
self.d.msgbox("Error while setting up the migrate feature")
|
self.display.msgbox("Error while setting up the migrate feature")
|
||||||
else:
|
else:
|
||||||
self.d.msgbox("Configuration successful, you can now send data to the GNS3 VM located at {} without password".format(destination))
|
self.display.msgbox("Configuration successful, you can now send data to the GNS3 VM located at {} without password".format(destination))
|
||||||
|
|
||||||
|
|
||||||
def shrink_disk(self):
|
def shrink_disk(self):
|
||||||
|
|
||||||
ret = os.system("lspci | grep -i vmware")
|
ret = os.system("lspci | grep -i vmware")
|
||||||
if ret != 0:
|
if ret != 0:
|
||||||
self.d.msgbox("Shrinking the disk is only supported when running inside VMware")
|
self.display.msgbox("Shrinking the disk is only supported when running inside VMware")
|
||||||
return
|
return
|
||||||
|
|
||||||
if self.d.yesno("Would you like to shrink the VM disk? The VM will reboot at the end of the process. Continue?") != self.d.OK:
|
if self.display.yesno("Would you like to shrink the VM disk? The VM will reboot at the end of the process. Continue?") != self.display.OK:
|
||||||
return
|
return
|
||||||
|
|
||||||
os.system("sudo service gns3 stop")
|
os.system("sudo service gns3 stop")
|
||||||
@ -236,7 +236,7 @@ class Welcome_dialog():
|
|||||||
os.system("sudo vmware-toolbox-cmd disk shrink /opt")
|
os.system("sudo vmware-toolbox-cmd disk shrink /opt")
|
||||||
os.system("sudo vmware-toolbox-cmd disk shrink /")
|
os.system("sudo vmware-toolbox-cmd disk shrink /")
|
||||||
|
|
||||||
self.d.msgbox("The GNS3 VM will reboot")
|
self.display.msgbox("The GNS3 VM will reboot")
|
||||||
os.execvp("sudo", ['/usr/bin/sudo', "reboot"])
|
os.execvp("sudo", ['/usr/bin/sudo', "reboot"])
|
||||||
|
|
||||||
def vm_information(self):
|
def vm_information(self):
|
||||||
@ -265,21 +265,21 @@ class Welcome_dialog():
|
|||||||
content += "\n\nRelease channel: " + self.get_release()
|
content += "\n\nRelease channel: " + self.get_release()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.d.msgbox(content)
|
self.display.msgbox(content)
|
||||||
# If it's an scp command or any bugs
|
# If it's an scp command or any bugs
|
||||||
except:
|
except:
|
||||||
os.execvp("bash", ['/bin/bash'])
|
os.execvp("bash", ['/bin/bash'])
|
||||||
|
|
||||||
|
|
||||||
def check_internet_connectivity(self):
|
def check_internet_connectivity(self):
|
||||||
self.d.pause("Please wait...\n\n")
|
self.display.pause("Please wait...\n\n")
|
||||||
try:
|
try:
|
||||||
response = urllib.request.urlopen('http://pypi.python.org/', timeout=5)
|
response = urllib.request.urlopen('http://pypi.python.org/', timeout=5)
|
||||||
except urllib.request.URLError as err:
|
except urllib.request.URLError as err:
|
||||||
self.d.infobox("Can't connect to Internet (pypi.python.org): {}".format(str(err)))
|
self.display.infobox("Can't connect to Internet (pypi.python.org): {}".format(str(err)))
|
||||||
time.sleep(15)
|
time.sleep(15)
|
||||||
return
|
return
|
||||||
self.d.infobox("Connection to Internet: OK")
|
self.display.infobox("Connection to Internet: OK")
|
||||||
time.sleep(2)
|
time.sleep(2)
|
||||||
|
|
||||||
|
|
||||||
@ -292,16 +292,16 @@ class Welcome_dialog():
|
|||||||
|
|
||||||
def set_security(self):
|
def set_security(self):
|
||||||
config = self.get_config()
|
config = self.get_config()
|
||||||
if self.d.yesno("Enable server authentication?") == self.d.OK:
|
if self.display.yesno("Enable server authentication?") == self.display.OK:
|
||||||
if not config.has_section("Server"):
|
if not config.has_section("Server"):
|
||||||
config.add_section("Server")
|
config.add_section("Server")
|
||||||
config.set("Server", "auth", True)
|
config.set("Server", "auth", True)
|
||||||
(answer, text) = self.d.inputbox("Login?")
|
(answer, text) = self.display.inputbox("Login?")
|
||||||
if answer != self.d.OK:
|
if answer != self.display.OK:
|
||||||
return
|
return
|
||||||
config.set("Server", "user", text)
|
config.set("Server", "user", text)
|
||||||
(answer, text) = self.d.passwordbox("Password?")
|
(answer, text) = self.display.passwordbox("Password?")
|
||||||
if answer != self.d.OK:
|
if answer != self.display.OK:
|
||||||
return
|
return
|
||||||
config.set("Server", "password", text)
|
config.set("Server", "password", text)
|
||||||
else:
|
else:
|
||||||
@ -337,7 +337,7 @@ class Welcome_dialog():
|
|||||||
"""
|
"""
|
||||||
Edit network configuration file
|
Edit network configuration file
|
||||||
"""
|
"""
|
||||||
if self.d.yesno("The server will reboot at the end of the process. Continue?") != self.d.OK:
|
if self.display.yesno("The server will reboot at the end of the process. Continue?") != self.display.OK:
|
||||||
return
|
return
|
||||||
os.system("sudo nano /etc/network/interfaces")
|
os.system("sudo nano /etc/network/interfaces")
|
||||||
os.execvp("sudo", ['/usr/bin/sudo', "reboot"])
|
os.execvp("sudo", ['/usr/bin/sudo', "reboot"])
|
||||||
@ -347,11 +347,11 @@ class Welcome_dialog():
|
|||||||
"""
|
"""
|
||||||
Configure proxy settings
|
Configure proxy settings
|
||||||
"""
|
"""
|
||||||
res, http_proxy = self.d.inputbox(text="HTTP proxy string, for example http://<user>:<password>@<proxy>:<port>. Leave empty for no proxy.")
|
res, http_proxy = self.display.inputbox(text="HTTP proxy string, for example http://<user>:<password>@<proxy>:<port>. Leave empty for no proxy.")
|
||||||
if res != self.d.OK:
|
if res != self.display.OK:
|
||||||
return
|
return
|
||||||
res, https_proxy = self.d.inputbox(text="HTTPS proxy string, for example http://<user>:<password>@<proxy>:<port>. Leave empty for no proxy.")
|
res, https_proxy = self.display.inputbox(text="HTTPS proxy string, for example http://<user>:<password>@<proxy>:<port>. Leave empty for no proxy.")
|
||||||
if res != self.d.OK:
|
if res != self.display.OK:
|
||||||
return
|
return
|
||||||
|
|
||||||
with open('/tmp/00proxy', 'w+') as f:
|
with open('/tmp/00proxy', 'w+') as f:
|
||||||
@ -370,7 +370,7 @@ class Welcome_dialog():
|
|||||||
os.system("sudo chmod 744 /etc/profile.d/proxy.sh")
|
os.system("sudo chmod 744 /etc/profile.d/proxy.sh")
|
||||||
os.system("sudo cp /etc/profile.d/proxy.sh /etc/default/docker")
|
os.system("sudo cp /etc/profile.d/proxy.sh /etc/default/docker")
|
||||||
|
|
||||||
self.d.msgbox("The GNS3 VM will reboot")
|
self.display.msgbox("The GNS3 VM will reboot")
|
||||||
os.execvp("sudo", ['/usr/bin/sudo', "reboot"])
|
os.execvp("sudo", ['/usr/bin/sudo', "reboot"])
|
||||||
|
|
||||||
|
|
||||||
@ -391,13 +391,13 @@ class Welcome_dialog():
|
|||||||
try:
|
try:
|
||||||
if config.getboolean("Qemu", "enable_kvm") is True:
|
if config.getboolean("Qemu", "enable_kvm") is True:
|
||||||
if kvm_ok is False:
|
if kvm_ok is False:
|
||||||
if self.d.yesno("KVM is not available!\n\nQemu VM will crash!!\n\nThe reason could be unsupported hardware or another virtualization solution is already running.\n\nDisable KVM and get lower performances?") == self.d.OK:
|
if self.display.yesno("KVM is not available!\n\nQemu VM will crash!!\n\nThe reason could be unsupported hardware or another virtualization solution is already running.\n\nDisable KVM and get lower performances?") == self.display.OK:
|
||||||
config.set("Qemu", "enable_kvm", False)
|
config.set("Qemu", "enable_kvm", False)
|
||||||
self.write_config(config)
|
self.write_config(config)
|
||||||
os.execvp("sudo", ['/usr/bin/sudo', "reboot"])
|
os.execvp("sudo", ['/usr/bin/sudo', "reboot"])
|
||||||
else:
|
else:
|
||||||
if kvm_ok is True:
|
if kvm_ok is True:
|
||||||
if self.d.yesno("KVM is available on your computer.\n\nEnable KVM and get better performances?") == self.d.OK:
|
if self.display.yesno("KVM is available on your computer.\n\nEnable KVM and get better performances?") == self.display.OK:
|
||||||
config.set("Qemu", "enable_kvm", True)
|
config.set("Qemu", "enable_kvm", True)
|
||||||
self.write_config(config)
|
self.write_config(config)
|
||||||
os.execvp("sudo", ['/usr/bin/sudo', "reboot"])
|
os.execvp("sudo", ['/usr/bin/sudo', "reboot"])
|
||||||
@ -408,7 +408,7 @@ class Welcome_dialog():
|
|||||||
def display_loop(self):
|
def display_loop(self):
|
||||||
try:
|
try:
|
||||||
while True:
|
while True:
|
||||||
code, tag = self.d.menu("GNS3 {}".format(self.gns3_version()),
|
code, tag = self.display.menu("GNS3 {}".format(self.gns3_version()),
|
||||||
choices=[("Information", "Display VM information"),
|
choices=[("Information", "Display VM information"),
|
||||||
("Upgrade", "Upgrade GNS3"),
|
("Upgrade", "Upgrade GNS3"),
|
||||||
("Migrate", "Migrate data to another GNS3 VM"),
|
("Migrate", "Migrate data to another GNS3 VM"),
|
||||||
@ -425,7 +425,7 @@ class Welcome_dialog():
|
|||||||
("Restore", "Restore the VM (if you have trouble for upgrade)"),
|
("Restore", "Restore the VM (if you have trouble for upgrade)"),
|
||||||
("Reboot", "Reboot the VM"),
|
("Reboot", "Reboot the VM"),
|
||||||
("Shutdown", "Shutdown the VM")])
|
("Shutdown", "Shutdown the VM")])
|
||||||
self.d.clear()
|
self.display.clear()
|
||||||
if code == Dialog.OK:
|
if code == Dialog.OK:
|
||||||
if tag == "Shell":
|
if tag == "Shell":
|
||||||
os.execvp("bash", ['/bin/bash'])
|
os.execvp("bash", ['/bin/bash'])
|
||||||
|
Loading…
Reference in New Issue
Block a user