def put_from_server(self): """ Put files from ftp/http server to Hdfs. Send a POST request to orka app server to copy the ftp/http file to the requested """ payload = {"hdfs":{"id": self.opts['cluster_id'], "source": "\'{0}\'".format(self.opts['source']), "dest": "\'{0}\'".format(self.opts['destination']), "user": self.opts['user'], "password": self.opts['password']}} yarn_cluster_req = ClusterRequest(self.escience_token, self.server_url, payload, action='hdfs') response = yarn_cluster_req.post() if 'task_id' in response['hdfs']: task_id = response['hdfs']['task_id'] else: logging.error(response['hdfs']['message']) exit(error_fatal) logging.log(SUMMARY, 'Starting file transfer') result = task_message(task_id, self.escience_token, self.server_url, wait_timer_delete, task='has_progress_bar') if result == 0: stdout.flush() logging.log(SUMMARY, 'Transfered file to Hadoop filesystem') return result
def create_vre_machine(self): """ Method for creating VRE server in~okeanos.""" try: payload = {"vreserver":{"project_name": self.opts['project_name'], "server_name": self.opts['name'], "cpu": self.opts['cpu'], "ram": self.opts['ram'], "disk": self.opts['disk'], "disk_template": self.opts['disk_template'], "os_choice": self.opts['image']}} yarn_cluster_req = ClusterRequest(self.escience_token, self.server_url, payload, action='vre') response = yarn_cluster_req.post() if 'task_id' in response['vreserver']: task_id = response['vreserver']['task_id'] else: logging.error(response['vreserver']['message']) exit(error_fatal) result = task_message(task_id, self.escience_token, self.server_url, wait_timer_create) logging.log(SUMMARY, "VRE server is active and has the following properties:") stdout.write("server_id: {0}\nserver_IP: {1}\n" "root password: {2}\n".format(result['server_id'], result['server_IP'], result['VRE_VM_password'])) exit(SUCCESS) except Exception, e: stderr.write('{0}'.format('\r')) logging.error(str(e.args[0])) exit(error_fatal)