Due to a ransomware attack, the wiki was reverted to a July 2022 version. . We apologize for the lack of a more recent valid backup.
...
Code Block |
---|
def pingall( self, timeout=300 ): """ Verifies the reachability of the hosts using pingall command. Optional parameter timeout allows you to specify how long to wait for pingall to complete Returns: main.TRUE if pingall completes with no pings dropped otherwise main.FALSE""" if self.handle: main.log.info( self.name + ": Checking reachabilty to the hosts using pingall" ) try: response = self.execute( cmd="pingall", prompt="mininet>", timeout=int( timeout ) ) |
Cluster Driver
The cluster driver combines the CLI, REST, and Bench components as a cluster. This allows the use of a function or variable from another driver without the need to specify that specific driver. For example,
Code Block | ||
---|---|---|
| ||
main.Cluster.active( 0 ).devices() |
can be used instead of
Code Block | ||
---|---|---|
| ||
main.ONOScli1.devices() |
and keeps the same context as the former.
However, if the function name is similar across more than one driver, the driver name will need to be specified. For example, in
Code Block |
---|
main.Cluster.active( 0 ).CLI.sendline() |
"CLI" must be specified to avoid ambiguity.
Creating A Driver
- Create .py file under "/drivers/common/cli/.." . In this example, the driver is placed under cli > emulator(folderpath) hierarchy. If the user wishes to create a driver that is integrated with an API library, then the same can be created under api-emulator (folder path). The driver should be placed in the same folder as the inherited driver.
- The class name must be the same as the driver name. Naming convention for the module name is lower case letters. Naming convention for the class name is CamelCase. In the test .topo file specify the component driver as 'type' = 'DriverName'.
- Create a function in the new driver class "connect" with a suitable return type. It will facilitate the connection for component or remote host used for driver.
- Create more functions/api in DriverName class with suitable defined parameters.
...