diff --git a/openeuler-ci-src/ci_projects_builders/projects_builders/views.py b/openeuler-ci-src/ci_projects_builders/projects_builders/views.py index e5697d97bcc8a8b638105e8757e1fc4693dd70f8..618ad05307df41e0a823ad5f3db7b484a7816408 100644 --- a/openeuler-ci-src/ci_projects_builders/projects_builders/views.py +++ b/openeuler-ci-src/ci_projects_builders/projects_builders/views.py @@ -86,9 +86,8 @@ def run(owner, repo, number): for waiting_repo in waiting_repos: # 获取yaml文件的关键字段 - f = open(waiting_repo, 'r') - ci_config = yaml.safe_load(f) - f.close() + with open(waiting_repo, 'r') as f: + ci_config = yaml.safe_load(f) repo_name = ci_config.get('repo_name') init_shell = ci_config.get('init_shell') container_level = ci_config.get('container_level') @@ -154,8 +153,12 @@ def run(owner, repo, number): add_user_permissions(server, user_list, aarch64_project) # 修改x86-64和aarch64的指定node logger.info('Config container level') - with open('utils/container_level_mapping.yaml', 'r') as f: - container_level_mapping = yaml.safe_load(f) + try: + with open('utils/container_level_mapping.yaml', 'r') as f: + container_level_mapping = yaml.safe_load(f) + except IOError as e: + logging.warning("container_level_mapping.yaml not exist. %s", str(e)) + return x86_node = container_level_mapping.get('x86').get(container_level) aarch64_node = container_level_mapping.get('aarch64').get(container_level) config_image_level(server, x86_node, x86_project) diff --git a/src/proxy/gitee_proxy.py b/src/proxy/gitee_proxy.py index 721ba0d6b9f85bb0cedf1fdd083505e1e884b633..9746b5f0b7ee40e8a6ce6849bf139d3d1b3e0965 100644 --- a/src/proxy/gitee_proxy.py +++ b/src/proxy/gitee_proxy.py @@ -126,10 +126,13 @@ class GiteeProxy(object): :param response: requests response object :return: """ - handler = yaml.safe_load(response.text) - repos.update({item["name"]: item["type"] for item in handler["repositories"]}) - logger.info("repos from community: %s", len(repos)) - + try: + handler = yaml.safe_load(response.text) + repos.update({item["name"]: item["type"] for item in handler["repositories"]}) + logger.info("repos from community: %s", len(repos)) + except IOError: + logger.warning("requests response is None") + return repos community_repo_url = "https://gitee.com/openeuler/community/raw/master/repository/src-openeuler.yaml" logger.info("requests repos from community, this will take multi seconds") do_requests("get", url=community_repo_url, timeout=timeout, obj=analysis)