# Copyright (C) 2014 INRIA
#
# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
+# it under the terms of the GNU General Public License version 2 as
+# published by the Free Software Foundation;
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# Author: Alina Quereilhac <alina.quereilhac@inria.fr>
from nepi.execution.resource import ResourceManager, clsinit_copy, \
- ResourceState, reschedule_delay
+ ResourceState
from nepi.execution.attribute import Flags
from nepi.execution.trace import TraceAttr
@clsinit_copy
class NetNSBase(ResourceManager):
_rtype = "abstract::netns::Object"
- _backend_type = "netns"
+ _platform = "netns"
def __init__(self, ec, guid):
super(NetNSBase, self).__init__(ec, guid)
objects to be deployed before proceeding with the deployment
"""
- raise RuntimeError, "No dependencies defined!"
+ raise RuntimeError("No dependencies defined!")
def _instantiate_object(self):
pass
def do_deploy(self):
if self._wait_rms():
self.debug("---- RESCHEDULING DEPLOY ----" )
- self.ec.schedule(reschedule_delay, self.deploy)
+ self.ec.schedule(self.reschedule_delay, self.deploy)
else:
self.do_discover()
self.do_provision()
def do_start(self):
if self.state == ResourceState.READY:
- # No need to do anything, simulation.Run() will start every object
+ # No need to do anything, emulation.Run() will start every object
self.info("Starting")
self.set_started()
else:
msg = " Failed "
self.error(msg, out, err)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
def do_stop(self):
if self.state == ResourceState.STARTED:
- # No need to do anything, simulation.Destroy() will stop every object
+ # No need to do anything, emulation.Destroy() will stop every object
self.set_stopped()
@property
def get(self, name):
#flags = Flags.NoWrite | Flags.NoRead | Flags.Design
flags = Flags.Design
- if self.state in [ResourceState.READY, ResourceState.STARTED] \
+ if self._state in [ResourceState.READY, ResourceState.STARTED] \
and not self.has_flag(name, flags):
return self.emulation.emu_get(self.uuid, name)
value = super(NetNSBase, self).get(name)
- if name != "critical":
- print name, value, "lalal"
return value
def set(self, name, value):
- #flags = Flags.NoWrite | Flags.NoRead | Flags.Design
flags = Flags.Design
- if self.has_flag(name, flags):
+ if (self._state > ResourceState.NEW and \
+ self.has_flag(name, Flags.Design)) or \
+ self.has_flag(name, Flags.NoWrite):
out = err = ""
msg = " Cannot change Design only attribue %s" % name
self.error(msg, out, err)
return
- if self.state in [ResourceState.READY, ResourceState.STARTED]:
+ if self._state in [ResourceState.READY, ResourceState.STARTED]:
self.emulation.emu_set(self.uuid, name, value)
value = super(NetNSBase, self).set(name, value)
- if name != "critical":
- print name, value, "IEEEEEEEE:"
return value