Пример #1
0
	def job_build_now(self, job_opt):
		data_encrypter = DataEncrypter()
		self.host_password_api =  data_encrypter.decrypt(data=self.host_password_api)
		jenkins_url_job_build_now = (self.host_protocal_api + '://'+ self.host + ':' 
			+ self.host_port_api + '/job/' + self.name + '/' + job_opt)
		response_build_result = requests.post(
			jenkins_url_job_build_now, 
			auth=(self.host_username_api, self.host_password_api))
		return (response_build_result)
Пример #2
0
 def container_shell(self):
     sshclient = paramiko.SSHClient()
     sshclient.load_system_host_keys()
     sshclient.set_missing_host_key_policy(paramiko.AutoAddPolicy())
     data_encrypter = DataEncrypter()
     self.host_password = data_encrypter.decrypt(data=self.host_password)
     sshclient.connect(self.host, self.host_port, self.host_username,
                       self.host_password)
     channel = sshclient.invoke_shell(term='xterm')
     channel.settimeout(0)
     return (channel)
Пример #3
0
def get_channel_over_ssh(host='', port='22', username='', password='', cmd=''):
    try:
        ssh_client = paramiko.SSHClient()
        ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        data_encrypter = DataEncrypter()
        password = data_encrypter.decrypt(data=password)
        ssh_client.connect(host, port, username, password)
        # open channel pipeline
        transport = ssh_client.get_transport()
        channel = transport.open_session()
        channel.get_pty()
        # out command into pipeline
        channel.exec_command(cmd)
        return channel
    except Exception as e:
        logging.error(e)
        return None
Пример #4
0
def exec_command_over_ssh(host='',
                          port='22',
                          username='',
                          password='',
                          cmd=''):
    try:
        ssh_client = paramiko.SSHClient()
        ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        data_encrypter = DataEncrypter()
        password = data_encrypter.decrypt(data=password)
        ssh_client.connect(host, port, username, password, timeout=1.5)
        std_in, std_out, std_err = ssh_client.exec_command(cmd)
        std_out = std_out.read()
        ssh_client.close()
        return (std_out)
    except Exception as e:
        logging.error(e)
        return None
Пример #5
0
def transfer_file_over_sftp(host='',
                            port='22',
                            username='',
                            password='',
                            cmd='',
                            remote_path='',
                            local_path=''):
    try:
        tran = paramiko.Transport((host, port))
        data_encrypter = DataEncrypter()
        password = data_encrypter.decrypt(data=password)
        tran.connect(username=username, password=password)
        sftp = paramiko.SFTPClient.from_transport(tran)
        sftp.get(remote_path, local_path)
        tran.close()
        return True
    except Exception as e:
        logging.error(e)
        return None
Пример #6
0
 def get_job_list(self):
     job_list = []
     try:
         jenkins_job_list_url = self.protocal_api + '://' + self.host + ':' + str(
             self.port_api) + '/api/json'
         data_encrypter = DataEncrypter()
         self.password_api = data_encrypter.decrypt(data=self.password_api)
         jenkins_response = requests.get(jenkins_job_list_url,
                                         auth=(self.username_api,
                                               self.password_api))
         job_info = jenkins_response.json().get('jobs')
         for i in range(0, len(job_info)):
             job = Job()
             job.host = self.host
             job.host_port_api = self.port_api
             job.host_protocal_api = self.protocal_api
             job.name = job_info[i].get('name')
             job.color = job_info[i].get('color')
             job_list.append(job)
         return (job_list)
     except Exception as e:
         logging.error(e)
         return None
Пример #7
0
 def post(self, request):
     host = request.POST.get('host', '')
     port = request.POST.get('port', 0)
     username = request.POST.get('username', '')
     password = request.POST.get('password', '')
     username_api = request.POST.get('username_api', '')
     password_api = request.POST.get('password_api', '')
     port_api = request.POST.get('port_api', 0)
     protocal_api = request.POST.get('protocal_api', '')
     file_path_root = request.POST.get('file_path_root', '')
     description = request.POST.get('description', '')
     server_type = request.POST.get('server_type', '')
     try:
         server_type_id = ServerType.objects.get(
             server_type=server_type).server_type_id
         obj = Server.objects.get(server_type_id=server_type_id, host=host)
         obj.host = host
         obj.port = int(port)
         obj.username = username
         obj.username_api = username_api
         obj.port_api = int(port_api)
         obj.protocal_api = protocal_api
         obj.file_path_root = file_path_root
         obj.description = description
         if password != '':
             obj.password = password
         else:
             data_encrypter = DataEncrypter()
             password = data_encrypter.decrypt(data=obj.password)
             obj.password = password
         if password_api != '':
             obj.password_api = password_api
         else:
             data_encrypter = DataEncrypter()
             password_api = data_encrypter.decrypt(data=obj.password_api)
             obj.password_api = password_api
         obj.save()
     except Exception as e:
         logging.error(e)
     return redirect('/server/server_list')
Пример #8
0
 def save(self, *args, **kwargs):
     data_encrypter = DataEncrypter()
     self.password = data_encrypter.encrypt(data=self.password)
     self.password_api = data_encrypter.encrypt(data=self.password_api)
     super().save(*args, **kwargs)  # Call the "real" save() method.