def __init__(self, name, path, namespace, cacheLifetime, parameters):
		"""
		Create an instance and initialize the structure needed by it.
		@type  parameters: dictionary
		@param parameters : should be a dictionary containning the follow keys
		"""
		Module.__init__(self, name, path, namespace, cacheLifetime)
Beispiel #2
0
 def __init__(self, name, path, namespace, cacheLifetime, parameters):
     """
     Create an instance and initialize the structure needed by it.
     @type  parameters: dictionary
     @param parameters : should be a dictionary containning the follow keys
     """
     Module.__init__(self, name, path, namespace, cacheLifetime, parameters)
	def __init__(self, name, path, namespace, cacheLifetime, arguments): 
		"""
			This method should be overrided by the module.
			@type arguments : dictionary, 
			@param arguments : will be the data specified by the module Linker for creating the module.
		"""			
		Module.__init__(self, name, path, namespace, cacheLifetime)
		self.parser = Parser(self.namespace)
    def __init__(self, name, path, namespace, cacheLifetime, parameters):
        """
			This method should be overrided by the module.
			@type arguments : dictionary, 
			@param arguments : will be the data specified by the module Linker for creating the module.
		"""
        Module.__init__(self, name, path, namespace, cacheLifetime, parameters)
        self.parser = Parser(self.namespace)
Beispiel #5
0
	def __init__(self, name, path, namespace, cacheLifetime, parameters):
		"""
		Create an instance and inicialize the structure needed by it.
		@type  parameters: dictionary
		@param parameters : Should be a dictionary containning the follow keys:
							- host : the host ip-address where the device is locate.
							- port : the port number where the Quagga software router is listen at the Telnet Connection.
							- password and enable\_pass :  The passwords to allow a connection to the device and for set root privileges for configurate it, respectibility.
							- instance : It allows to create more than one instance of the module adding an \textit {instance} attribute with the value specified by it into the root node of the XML BGP Configuration document. If it not specified it will not add anything.
							- allowxpath : It turn on or off the xpath "Looking into the Values" capability as specified by the value. If it is not specified the default value is false.
		"""

		Module.__init__(self, name, path, namespace, cacheLifetime)

		host = parameters["host"]
		port = parameters["port"]
		password = parameters["password"]
		enable_password = parameters["enable_pass"]

		self.deviceConnection = VTY_Connection(host, port, password, enable_password)

		allowxpath = False
		
		if( "allowxpath" in parameters):
			if (parameters["allowxpath"] == "true"):
				allowxpath = True
		
		if( "instance" in parameters):
			instance = parameters["instance"]
		else: 
			instance = None
		
		structXML = NonvalidatingReader.parseUri("file:"+self.PROTOCOL_STRUCTURE_FILE)
		
		self.XMLConstructor = XML_Constructor.XML_Constructor(structXML, self.namespace, instance)
		self.XMLInterpreter = XML_Interpreter.XML_Interpreter(structXML, self.namespace, allowxpath)
	def __init__(self, name, path, namespace, cacheLifetime):
		Module.__init__(self, name, path, namespace, cacheLifetime)
		self.files = {}
		for source in [C.STARTUP, C.RUNNING, C.CANDIDATE]:
			self.files[source] = "%s/%s-%s.xml" % (C.YENCAP_CONF_HOME, self.name, source)
	def __init__(self, name, path, namespace, cacheLifetime, parameters):
		Module.__init__(self, name, path, namespace, cacheLifetime)
		print "VERMONT Module loaded"
Beispiel #8
0
 def __init__(self, name, path, namespace, cacheLifetime, parameters):
     Module.__init__(self, name, path, namespace, cacheLifetime)
     print "VERMONT Module loaded"
Beispiel #9
0
	def __init__(self, name, path, namespace, cacheLifetime,parameters):
		Module.__init__(self, name, path, namespace, cacheLifetime)
Beispiel #10
0
 def __init__(self, name, path, namespace, cacheLifetime):
     Module.__init__(self, name, path, namespace, cacheLifetime)
     self.files = {}
     for source in [C.STARTUP, C.RUNNING, C.CANDIDATE]:
         self.files[source] = "%s/%s-%s.xml" % (C.YENCAP_CONF_HOME,
                                                self.name, source)
Beispiel #11
0
				error_type=ModuleReply.APPLICATION,
				error_tag=ModuleReply.RESOURCE_DENIED,
				error_severity=ModuleReply.ERROR,
				error_tag_app=exp.getError(),
				error_message=str(exp))
			except Exception,exp:
				import traceback
				traceback.print_exc()
				xmlreply = ModuleReply(
				error_type=ModuleReply.APPLICATION,
				error_tag=ModuleReply.OPERATION_FAILED,
				error_severity=ModuleReply.ERROR,
				error_message=str(exp))

		else:
			xmlreply = Module.copyConfig(self, sourceName, targetName, sourceNode)
		
		return xmlreply


	def rollBack(self):
		"""
			It restablish the last state of the device's configuration.
			Note that the last editConfig should had received erroroption equal
			to ROLL_BACK_ON_ERROR in order to achived this request, otherwise returns in error.
			@rtype: ModuleReply
			@return: It returns a success or error message.
		"""
		try:
			if (self.oldconfig != None):
				xmlreply = ModuleReply(