コード例 #1
0
ファイル: injector.py プロジェクト: XLab-Tongji/ChaosToolbox
    def inject_random(dto):

        host = dto['host']

        target = K8sObserver.get_random_name(dto)

        if dto.get('cpu-percent') == None:
            # Inject Pod
            namespace = dto['namespace']
            args = Command.get_command('pod_injection', 'pod_delete') \
                + "--names " +  target \
                + " --namespace " + namespace \
                + Command.get_config()
        else:
            # Inject Node
            cpu_percent = dto['cpu-percent']
            args = Command.get_command('node_injection', 'cpu_load') \
                + "--cpu-percent " + cpu_percent \
                + " --names " + target \
                + Command.get_config()

        r_success_dict = Runner.run_adhoc(host, args)

        # Handle result
        return Handler.get_stdout_info(r_success_dict)
コード例 #2
0
ファイル: injector.py プロジェクト: XLab-Tongji/ChaosToolbox
    def destroy_injection(dto):
        host = dto['host']

        args = Command.get_command('destroy', 'destroy_injection') \
            + dto['uid']

        r_success_dict = Runner.run_adhoc(host, args)
        return Handler.get_stdout_info(r_success_dict)
コード例 #3
0
ファイル: injector.py プロジェクト: XLab-Tongji/ChaosToolbox
    def inject_pod_network_dns(dto):
        host = dto['host']

        args = Command.get_command('pod_injection', 'pod_network_dns') \
            + Command.parser(dto) \
            + Command.get_config()

        r_success_dict = Runner.run_adhoc(host, args)
        return Handler.get_stdout_info(r_success_dict)
コード例 #4
0
ファイル: injector.py プロジェクト: XLab-Tongji/ChaosToolbox
    def inject_node_cpu(dto):
        host = dto['host']

        args = Command.get_command('node_injection', 'cpu_load') \
            + Command.parser(dto) \
            + Command.get_config()
        #print(args)
        r_success_dict = Runner.run_adhoc(host, args)

        return Handler.get_stdout_info(r_success_dict)
コード例 #5
0
ファイル: injector.py プロジェクト: XLab-Tongji/ChaosToolbox
    def inject_node_network_loss(dto):
        (host, names) = (dto['host'], dto['names'])

        args = Command.get_command('node_injection', 'network_loss') \
            + Command.parser(dto) \
            + Command.get_command('network_interface', 'node_' + names) \
            + Command.get_config()

        #print(args)
        r_success_dict = Runner.run_adhoc(host, args)

        return Handler.get_stdout_info(r_success_dict)
コード例 #6
0
ファイル: injector.py プロジェクト: XLab-Tongji/ChaosToolbox
    def inject_pod_delete_by_name(dto):
        host = dto['host']

        args = Command.get_command('pod_injection', 'pod_delete') \
            + Command.parser(dto) \
            + Command.get_config()

        #print(args)

        r_success_dict = Runner.run_adhoc(host, args)

        return Handler.get_stdout_info(r_success_dict)
コード例 #7
0
ファイル: server.py プロジェクト: ZubAnt/tp-highload
 def __init__(self, loop: AbstractEventLoop, conf: Configure) -> None:
     self._loop = loop
     self._conf = conf
     self._handler = Handler(conf, loop)