예제 #1
0
파일: orka.py 프로젝트: amathilda/e-science
    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
예제 #2
0
파일: orka.py 프로젝트: amathilda/e-science
    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)