예제 #1
0
 def k8s_apply(self, params, out_func=None):
     cmd = K8S_APPLY_CMD + params['filename']
     ssh = SSH(hostname=params['public_ip'],
               port=22,
               username=params['username'],
               passwd=params['passwd'])
     out, err = ssh.exec_rt(cmd, out_func)
     return out, err
예제 #2
0
 def create_image(self, params, out_func=None):
     cmd = CREATE_IMAGE_CMD + ' '.join([
         params['app_name'], params['image_name'],
         params['repos_https_url'], params['branch_name'], params['version']
     ])
     ssh = SSH(hostname=params['public_ip'],
               port=22,
               username=params['username'],
               passwd=params['passwd'])
     out, err = ssh.exec_rt(cmd, out_func)
     return out, err
예제 #3
0
 def k8s_delete(self, params, out_func=None):
     if params.get('obj_type') and params.get('obj_name'):
         cmd = K8S_DELETE_CMD + ' '.join(
             [params['obj_type'], params['obj_name']])
     else:
         return '', ''
     ssh = SSH(hostname=params['public_ip'],
               port=22,
               username=params['username'],
               passwd=params['passwd'])
     out, err = ssh.exec_rt(cmd, out_func)
     return out, err
예제 #4
0
    def remote_ssh(self, params):
        """ 远程控制主机
        :param params: dict, 必须{'public_ip', 'username', 'passwd', 'cmd'}, 可选{'rt'(实时输出), 'out_func'}
        """
        try:
            ssh = SSH(hostname=params['public_ip'],
                      username=params['username'],
                      passwd=params['passwd'])

            if params.get('rt'):
                out, err = ssh.exec_rt(params['cmd'], params.get('out_func'))
            else:
                out, err = ssh.exec(params['cmd'])
            ssh.close()

            return out, err
        except Exception as e:
            return [], [str(e)]