コード例 #1
0
ファイル: package_app.py プロジェクト: cold-code/FATE-Cloud
def download_package():
    request_data = request.json
    required_parameters = ['version', 'url']
    check_config(request_data, required_parameters)
    if not request_data['url']:
        raise Exception(f"illegal url {request_data['url']}")
    if not request_data['version']:
        raise Exception(f"illegal url {request_data['version']}")

    os.makedirs(os.path.join(get_project_base_directory(), 'packages'), exist_ok=True)
    package_dir = get_package_dir_by_version(request_data.get('version'))
    if os.path.exists(package_dir):
        return get_json_result(retcode=100,
                               retmsg=f"Downloading mirror with version {request_data.get('version')} failed, "
                                      f"package dir {package_dir} already exists.")

    package_instance = Package.get_or_none(Package.f_version == request_data['version'],
                                           Package.f_status == 'success')
    if package_instance:
        return get_json_result(retcode=100,
                               retmsg=f"Downloading mirror with version {request_data.get('version')} failed, "
                                      f"version info has been stored in database.")

    request_data['dir'] = package_dir
    p = Process(target=do_download, args=(request_data, ))
    p.start()
    return get_json_result(retmsg=f"Start downloading mirror from url: {request_data.get('url')}.",
                           data= {'version': request_data.get('version')})
コード例 #2
0
ファイル: status_utils.py プロジェクト: cold-code/FATE-Cloud
def execute_test(host, shell_cmd, test_type):
    process_cmd = [
        'python3', __file__, '--host', host, '--shell_cmd', shell_cmd,
        '--test_type', test_type
    ]
    log_dir = os.path.join(file_utils.get_project_base_directory(), 'logs',
                           host, test_type)
    job_utils.run_subprocess(config_dir=log_dir,
                             process_cmd=process_cmd,
                             log_dir=log_dir)
    return 0, f'submit {test_type} test success'
コード例 #3
0
 def get_var_files_dir(self):
     return os.path.join(file_utils.get_project_base_directory(), 'templates', f"v{self.version.replace('.', '_')}",
                         'var_files')
コード例 #4
0
 def get_hosts_template(self):
     with open(os.path.join(file_utils.get_project_base_directory(), 'templates', f"v{self.version.replace('.', '_')}",
                            'hosts'), 'r') as f:
         data = f.read()
     return data
コード例 #5
0
 def get_roles_args(self):
     with open(os.path.join(file_utils.get_project_base_directory(), 'templates', f"v{self.version.replace('.', '_')}",
                            'roles_arg.json'), 'r') as f:
         data = json_loads(f.read())
     return data
コード例 #6
0
 def get_proj_yml(self):
     with open(os.path.join(file_utils.get_project_base_directory(), 'templates', f"v{self.version.replace('.', '_')}",
                            'project.yml'), 'r') as f:
         data = yaml.safe_load(f.read())
     return data