mirror of
https://github.com/GNS3/gns3-server
synced 2024-12-25 00:08:11 +00:00
Change rename command to a name property setter for all Dynamips
devices. Adjust the tests and upload the new dynamips that supports the rename command for VMs.
This commit is contained in:
parent
cef29e53aa
commit
5560e81f9a
@ -118,7 +118,8 @@ class Dynamips(IModule):
|
||||
"""
|
||||
|
||||
# stop all Dynamips hypervisors
|
||||
self._hypervisor_manager.stop_all_hypervisors()
|
||||
if self._hypervisor_manager:
|
||||
self._hypervisor_manager.stop_all_hypervisors()
|
||||
|
||||
# resets the instance counters
|
||||
Router.reset()
|
||||
|
@ -472,7 +472,7 @@ class HypervisorManager(object):
|
||||
hypervisor.port,
|
||||
current_memory_load,
|
||||
router_ram))
|
||||
return hypervisor
|
||||
return hypervisor
|
||||
|
||||
hypervisor = self.start_new_hypervisor()
|
||||
hypervisor.image_ref = router_ios_image
|
||||
|
@ -51,6 +51,19 @@ class ATMBridge(object):
|
||||
|
||||
return self._name[1:-1] # remove quotes
|
||||
|
||||
@name.setter
|
||||
def name(self, new_name):
|
||||
"""
|
||||
Renames this ATM bridge.
|
||||
|
||||
:param new_name: New name for this bridge
|
||||
"""
|
||||
|
||||
new_name = '"' + new_name + '"' # put the new name into quotes to protect spaces
|
||||
self._hypervisor.send("atm_bridge rename {name} {new_name}".format(name=self._name,
|
||||
new_name=new_name))
|
||||
self._name = new_name
|
||||
|
||||
@property
|
||||
def hypervisor(self):
|
||||
"""
|
||||
@ -90,18 +103,6 @@ class ATMBridge(object):
|
||||
|
||||
return self._mapping
|
||||
|
||||
def rename(self, new_name):
|
||||
"""
|
||||
Renames this ATM bridge.
|
||||
|
||||
:param new_name: New name for this bridge
|
||||
"""
|
||||
|
||||
new_name = '"' + new_name + '"' # put the new name into quotes to protect spaces
|
||||
self._hypervisor.send("atm_bridge rename {name} {new_name}".format(name=self._name,
|
||||
new_name=new_name))
|
||||
self._name = new_name
|
||||
|
||||
def delete(self):
|
||||
"""
|
||||
Deletes this ATM bridge.
|
||||
|
@ -86,6 +86,24 @@ class ATMSwitch(object):
|
||||
|
||||
return self._name[1:-1] # remove quotes
|
||||
|
||||
@name.setter
|
||||
def name(self, new_name):
|
||||
"""
|
||||
Renames this ATM switch.
|
||||
|
||||
:param new_name: New name for this switch
|
||||
"""
|
||||
|
||||
new_name = '"' + new_name + '"' # put the new name into quotes to protect spaces
|
||||
self._hypervisor.send("atmsw rename {name} {new_name}".format(name=self._name,
|
||||
new_name=new_name))
|
||||
|
||||
log.info("ATM switch {name} [id={id}]: renamed to {new_name}".format(name=self._name,
|
||||
id=self._id,
|
||||
new_name=new_name))
|
||||
|
||||
self._name = new_name
|
||||
|
||||
@property
|
||||
def hypervisor(self):
|
||||
"""
|
||||
@ -125,23 +143,6 @@ class ATMSwitch(object):
|
||||
|
||||
return self._mapping
|
||||
|
||||
def rename(self, new_name):
|
||||
"""
|
||||
Renames this ATM switch.
|
||||
|
||||
:param new_name: New name for this switch
|
||||
"""
|
||||
|
||||
new_name = '"' + new_name + '"' # put the new name into quotes to protect spaces
|
||||
self._hypervisor.send("atmsw rename {name} {new_name}".format(name=self._name,
|
||||
new_name=new_name))
|
||||
|
||||
log.info("ATM switch {name} [id={id}]: renamed to {new_name}".format(name=self._name,
|
||||
id=self._id,
|
||||
new_name=new_name))
|
||||
|
||||
self._name = new_name
|
||||
|
||||
def delete(self):
|
||||
"""
|
||||
Deletes this ATM switch.
|
||||
|
@ -49,6 +49,20 @@ class Bridge(object):
|
||||
|
||||
return self._name[1:-1] # remove quotes
|
||||
|
||||
@name.setter
|
||||
def name(self, new_name):
|
||||
"""
|
||||
Renames this bridge.
|
||||
|
||||
:param new_name: New name for this bridge
|
||||
"""
|
||||
|
||||
new_name = '"' + new_name + '"' # put the new name into quotes to protect spaces
|
||||
self._hypervisor.send("nio_bridge rename {name} {new_name}".format(name=self._name,
|
||||
new_name=new_name))
|
||||
|
||||
self._name = new_name
|
||||
|
||||
@property
|
||||
def hypervisor(self):
|
||||
"""
|
||||
@ -78,19 +92,6 @@ class Bridge(object):
|
||||
|
||||
return self._nios
|
||||
|
||||
def rename(self, new_name):
|
||||
"""
|
||||
Renames this bridge.
|
||||
|
||||
:param new_name: New name for this bridge
|
||||
"""
|
||||
|
||||
new_name = '"' + new_name + '"' # put the new name into quotes to protect spaces
|
||||
self._hypervisor.send("nio_bridge rename {name} {new_name}".format(name=self._name,
|
||||
new_name=new_name))
|
||||
|
||||
self._name = new_name
|
||||
|
||||
def delete(self):
|
||||
"""
|
||||
Deletes this bridge.
|
||||
|
@ -87,6 +87,24 @@ class EthernetSwitch(object):
|
||||
|
||||
return self._name[1:-1] # remove quotes
|
||||
|
||||
@name.setter
|
||||
def name(self, new_name):
|
||||
"""
|
||||
Renames this Ethernet switch.
|
||||
|
||||
:param new_name: New name for this switch
|
||||
"""
|
||||
|
||||
new_name = '"' + new_name + '"' # put the new name into quotes to protect spaces
|
||||
self._hypervisor.send("ethsw rename {name} {new_name}".format(name=self._name,
|
||||
new_name=new_name))
|
||||
|
||||
log.info("Ethernet switch {name} [id={id}]: renamed to {new_name}".format(name=self._name,
|
||||
id=self._id,
|
||||
new_name=new_name))
|
||||
|
||||
self._name = new_name
|
||||
|
||||
@property
|
||||
def hypervisor(self):
|
||||
"""
|
||||
@ -126,23 +144,6 @@ class EthernetSwitch(object):
|
||||
|
||||
return self._mapping
|
||||
|
||||
def rename(self, new_name):
|
||||
"""
|
||||
Renames this Ethernet switch.
|
||||
|
||||
:param new_name: New name for this switch
|
||||
"""
|
||||
|
||||
new_name = '"' + new_name + '"' # put the new name into quotes to protect spaces
|
||||
self._hypervisor.send("ethsw rename {name} {new_name}".format(name=self._name,
|
||||
new_name=new_name))
|
||||
|
||||
log.info("Ethernet switch {name} [id={id}]: renamed to {new_name}".format(name=self._name,
|
||||
id=self._id,
|
||||
new_name=new_name))
|
||||
|
||||
self._name = new_name
|
||||
|
||||
def delete(self):
|
||||
"""
|
||||
Deletes this Ethernet switch.
|
||||
|
@ -86,6 +86,24 @@ class FrameRelaySwitch(object):
|
||||
|
||||
return self._name[1:-1] # remove quotes
|
||||
|
||||
@name.setter
|
||||
def name(self, new_name):
|
||||
"""
|
||||
Renames this Frame Relay switch.
|
||||
|
||||
:param new_name: New name for this switch
|
||||
"""
|
||||
|
||||
new_name = '"' + new_name + '"' # put the new name into quotes to protect spaces
|
||||
self._hypervisor.send("frsw rename {name} {new_name}".format(name=self._name,
|
||||
new_name=new_name))
|
||||
|
||||
log.info("Frame Relay switch {name} [id={id}]: renamed to {new_name}".format(name=self._name,
|
||||
id=self._id,
|
||||
new_name=new_name))
|
||||
|
||||
self._name = new_name
|
||||
|
||||
@property
|
||||
def hypervisor(self):
|
||||
"""
|
||||
@ -125,23 +143,6 @@ class FrameRelaySwitch(object):
|
||||
|
||||
return self._mapping
|
||||
|
||||
def rename(self, new_name):
|
||||
"""
|
||||
Renames this Frame Relay switch.
|
||||
|
||||
:param new_name: New name for this switch
|
||||
"""
|
||||
|
||||
new_name = '"' + new_name + '"' # put the new name into quotes to protect spaces
|
||||
self._hypervisor.send("frsw rename {name} {new_name}".format(name=self._name,
|
||||
new_name=new_name))
|
||||
|
||||
log.info("Frame Relay switch {name} [id={id}]: renamed to {new_name}".format(name=self._name,
|
||||
id=self._id,
|
||||
new_name=new_name))
|
||||
|
||||
self._name = new_name
|
||||
|
||||
def delete(self):
|
||||
"""
|
||||
Deletes this Frame Relay switch.
|
||||
|
@ -163,6 +163,24 @@ class Router(object):
|
||||
|
||||
return self._name[1:-1] # remove quotes
|
||||
|
||||
@name.setter
|
||||
def name(self, new_name):
|
||||
"""
|
||||
Renames this router.
|
||||
|
||||
:param new_name: new name string
|
||||
"""
|
||||
|
||||
new_name = '"' + new_name + '"' # put the new name into quotes to protect spaces
|
||||
self._hypervisor.send("vm rename {name} {new_name}".format(name=self._name,
|
||||
new_name=new_name))
|
||||
|
||||
log.info("router {name} [id={id}]: renamed to {new_name}".format(name=self._name,
|
||||
id=self._id,
|
||||
new_name=new_name))
|
||||
|
||||
self._name = new_name
|
||||
|
||||
@property
|
||||
def platform(self):
|
||||
"""
|
||||
@ -202,23 +220,6 @@ class Router(object):
|
||||
|
||||
return self._hypervisor.send("vm list_con_ports")
|
||||
|
||||
def rename(self, new_name):
|
||||
"""
|
||||
Renames this router.
|
||||
|
||||
:param new_name: new name string
|
||||
"""
|
||||
|
||||
new_name = '"' + new_name + '"' # put the new name into quotes to protect spaces
|
||||
self._hypervisor.send("vm rename {name} {new_name}".format(name=self._name,
|
||||
new_name=new_name))
|
||||
|
||||
log.info("router {name} [id={id}]: renamed to {new_name}".format(name=self._name,
|
||||
id=self._id,
|
||||
new_name=new_name))
|
||||
|
||||
self._name = new_name
|
||||
|
||||
def delete(self):
|
||||
"""
|
||||
Deletes this router.
|
||||
|
@ -9,7 +9,7 @@ def hypervisor(request):
|
||||
cwd = os.path.dirname(os.path.abspath(__file__))
|
||||
dynamips_path = os.path.join(cwd, "dynamips.stable")
|
||||
print("\nStarting Dynamips Hypervisor: {}".format(dynamips_path))
|
||||
manager = HypervisorManager(dynamips_path, "/tmp", base_port=9000)
|
||||
manager = HypervisorManager(dynamips_path, "/tmp", "127.0.0.1", 9000)
|
||||
hypervisor = manager.start_new_hypervisor()
|
||||
|
||||
def stop():
|
||||
|
Binary file not shown.
@ -19,7 +19,7 @@ def test_atm_bridge_exists(atm_bridge):
|
||||
|
||||
def test_rename_atm_bridge(atm_bridge):
|
||||
|
||||
atm_bridge.rename("new ATM bridge")
|
||||
atm_bridge.name = "new ATM bridge"
|
||||
assert atm_bridge.name == "new ATM bridge"
|
||||
|
||||
|
||||
|
@ -19,7 +19,7 @@ def test_atmsw_exists(atmsw):
|
||||
|
||||
def test_rename_atmsw(atmsw):
|
||||
|
||||
atmsw.rename("new ATM switch")
|
||||
atmsw.name = "new ATM switch"
|
||||
assert atmsw.name == "new ATM switch"
|
||||
|
||||
|
||||
|
@ -18,7 +18,7 @@ def test_bridge_exists(bridge):
|
||||
|
||||
def test_rename_bridge(bridge):
|
||||
|
||||
bridge.rename("new bridge")
|
||||
bridge.name = "new bridge"
|
||||
assert bridge.name == "new bridge"
|
||||
|
||||
|
||||
|
@ -19,7 +19,7 @@ def test_ethsw_exists(ethsw):
|
||||
|
||||
def test_rename_ethsw(ethsw):
|
||||
|
||||
ethsw.rename("new Ethernet switch")
|
||||
ethsw.name = "new Ethernet switch"
|
||||
assert ethsw.name == "new Ethernet switch"
|
||||
|
||||
|
||||
|
@ -19,7 +19,7 @@ def test_frsw_exists(frsw):
|
||||
|
||||
def test_rename_frsw(frsw):
|
||||
|
||||
frsw.rename("new Frame Relay switch")
|
||||
frsw.name = "new Frame Relay switch"
|
||||
assert frsw.name == "new Frame Relay switch"
|
||||
|
||||
|
||||
|
@ -11,6 +11,7 @@ def hypervisor_manager(request):
|
||||
dynamips_path = os.path.join(cwd, "dynamips.stable")
|
||||
print("\nStarting Dynamips Hypervisor: {}".format(dynamips_path))
|
||||
manager = HypervisorManager(dynamips_path, "/tmp", "127.0.0.1", 9000)
|
||||
|
||||
#manager.start_new_hypervisor()
|
||||
|
||||
def stop():
|
||||
@ -23,6 +24,7 @@ def hypervisor_manager(request):
|
||||
|
||||
def test_allocate_hypervisor_for_router(hypervisor_manager):
|
||||
|
||||
hypervisor_manager.allocate_hypervisor_per_device = False
|
||||
# default of 1GB of RAM per hypervisor instance
|
||||
assert hypervisor_manager.memory_usage_limit_per_hypervisor == 1024
|
||||
hypervisor = hypervisor_manager.allocate_hypervisor_for_router("c3725.image", 512)
|
||||
|
@ -30,14 +30,13 @@ def test_create_and_delete_router(hypervisor):
|
||||
router.get_status()
|
||||
|
||||
|
||||
# def test_rename_router(router):
|
||||
#
|
||||
# assert router.name == "router"
|
||||
# router.rename("my_router")
|
||||
# assert router.name == "my_router"
|
||||
# router.rename("router")
|
||||
# assert router.name == "router"
|
||||
#router.delete() # FIXME: fails with current Dynamips version
|
||||
def test_rename_router(hypervisor):
|
||||
|
||||
router = Router(hypervisor, "my router to rename")
|
||||
assert router.name == "my router to rename"
|
||||
router.name = "my_router"
|
||||
assert router.name == "my_router"
|
||||
router.delete()
|
||||
|
||||
|
||||
def test_image(router):
|
||||
|
Loading…
Reference in New Issue
Block a user