Example #1
0
    def start_traffic(self, context, test_file_name, blocking, timeout,
                      latency):
        """ Start traffic """

        logger = get_logger_with_thread_id(context)
        logger.info("Start traffic command started")

        with ErrorHandlingContext(logger):
            cs_api = get_api(context)
            resource_config = TrafficGeneratorControllerResource.create_from_chassis_resource(
                context=context, cs_api=cs_api)

            controll_traffic = TRexTestRunner(cli=self._cli,
                                              trex_client=self._trex_client,
                                              resource_config=resource_config,
                                              logger=logger)

            blocking = (blocking == "True")

            if latency:
                latency = int(latency)

            controll_traffic.start_traffic(test_config=test_file_name,
                                           block_to_success=blocking,
                                           timeout=float(timeout),
                                           latency=latency)

        logger.info("Start traffic command ended")
Example #2
0
    def initialize(self, context):
        """
        :param context: ResourceCommandContext,ReservationContextDetailsobject with all Resource Attributes inside
        :type context:  context: cloudshell.shell.core.driver_context.ResourceRemoteCommandContext
        """

        resource_config = TrafficGeneratorControllerResource.from_context(
            context)
        session_pool_size = int(resource_config.sessions_concurrency_limit)
        self._cli = get_cli(session_pool_size)

        return 'Finished initializing'
Example #3
0
    def keep_alive(self, context, cancellation_context):
        """  """

        logger = get_logger_with_thread_id(context)
        logger.info("Keep alive command started")

        with ErrorHandlingContext(logger):
            cs_api = get_api(context)
            resource_config = TrafficGeneratorControllerResource.create_from_chassis_resource(
                context=context, cs_api=cs_api)

        logger.info("Keep alive command ended")
Example #4
0
    def cleanup_reservation(self, context):
        """ Clear reservation when it ends """

        logger = get_logger_with_thread_id(context)
        logger.info("Cleanup reservation command started")

        with ErrorHandlingContext(logger):
            cs_api = get_api(context)
            resource_config = TrafficGeneratorControllerResource.create_from_chassis_resource(
                context=context, cs_api=cs_api)

        logger.info("Cleanup reservation command ended")
Example #5
0
    def download_server_config(self, context, config_file_url):
        """ Download Cisco TRex Server configuration from FTP/TFTP Server """

        logger = get_logger_with_thread_id(context)
        logger.info("Download TRex Server configuration command started")

        with ErrorHandlingContext(logger):
            cs_api = get_api(context)
            resource_config = TrafficGeneratorControllerResource.create_from_chassis_resource(
                context=context, cs_api=cs_api)

            server_config_runner = TRexServerConfigurationRunner(
                cli=self._cli, resource_config=resource_config, logger=logger)

            server_config_runner.download_trex_server_config(
                server_config_url=config_file_url)

        logger.info("Download TRex Server configuration command ended")
Example #6
0
    def load_test_config(self, context, config_file_url):
        """ Load test configuration file to TRex"""

        logger = get_logger_with_thread_id(context)
        logger.info("Load test configuration file command started")
        with ErrorHandlingContext(logger):
            cs_api = get_api(context)
            resource_config = TrafficGeneratorControllerResource.create_from_chassis_resource(
                context=context, cs_api=cs_api)

            trex_client = self._get_trex_client(
                resource_config=resource_config)

            controll_traffic = TRexTestRunner(cli=self._cli,
                                              trex_client=trex_client,
                                              resource_config=resource_config,
                                              logger=logger)

            controll_traffic.load_test_config(test_config_url=config_file_url)

        logger.info("Load test configuration file command ended")
Example #7
0
    def get_results(self, context):
        """ Attach result file to the reservation """

        logger = get_logger_with_thread_id(context)
        logger.info("Get results command started")

        with ErrorHandlingContext(logger):
            cs_api = get_api(context)
            resource_config = TrafficGeneratorControllerResource.create_from_chassis_resource(
                context=context, cs_api=cs_api)

            trex_client = self._get_trex_client(
                resource_config=resource_config)

            controll_traffic = TRexTestRunner(cli=self._cli,
                                              trex_client=trex_client,
                                              resource_config=resource_config,
                                              logger=logger)

            res = controll_traffic.get_results()

            logger.info("Get results command ended")
            return str(res)
Example #8
0
    def stop_traffic(self, context, force):
        """ Stop traffic and unreserving ports """

        logger = get_logger_with_thread_id(context)
        logger.info("Stop traffic command started")

        with ErrorHandlingContext(logger):
            cs_api = get_api(context)
            resource_config = TrafficGeneratorControllerResource.create_from_chassis_resource(
                context=context, cs_api=cs_api)

            trex_client = self._get_trex_client(
                resource_config=resource_config)

            controll_traffic = TRexTestRunner(cli=self._cli,
                                              trex_client=trex_client,
                                              resource_config=resource_config,
                                              logger=logger)

            force = (force == "True")
            controll_traffic.stop_traffic(force)

        logger.info("Stop traffic command ended")