ci(openeuler): improve mirror selection and stabilize CI checks (#13094)

Enable openEuler metalink and clear dnf cache after repo updates so package downloads use refreshed mirror metadata. Keep openeuler24-calico in the main CI matrix with a longer package timeout, and clean up failed pods before running-state checks to reduce transient CI noise.


Made-with: Cursor

Made-with: Cursor

Made-with: Cursor

Made-with: Cursor

Signed-off-by: Kay Yan <kay.yan@daocloud.io>
This commit is contained in:
Kay Yan
2026-03-17 15:59:37 +08:00
committed by GitHub
parent 03d17fea92
commit 3c6d368397
4 changed files with 52 additions and 5 deletions

View File

@@ -12,6 +12,10 @@ coreos_locksmithd_disable: false
# Install epel repo on Centos/RHEL
epel_enabled: false
## openEuler specific variables
# Enable metalink for openEuler repos (auto-selects fastest mirror by location)
openeuler_metalink_enabled: false
## Oracle Linux specific variables
# Install public repo on Oracle Linux
use_oracle_public_repo: true

View File

@@ -1,3 +1,43 @@
---
- name: Import Centos boostrap for openEuler
import_tasks: centos.yml
- name: Import CentOS bootstrap for openEuler
ansible.builtin.import_tasks: centos.yml
- name: Get existing openEuler repo sections
ansible.builtin.shell:
cmd: "set -o pipefail && grep '^\\[' /etc/yum.repos.d/openEuler.repo | tr -d '[]'"
executable: /bin/bash
register: _openeuler_repo_sections
changed_when: false
failed_when: false
check_mode: false
become: true
when: openeuler_metalink_enabled
- name: Enable metalink for openEuler repos
community.general.ini_file:
path: /etc/yum.repos.d/openEuler.repo
section: "{{ item.key }}"
option: metalink
value: "{{ item.value }}"
no_extra_spaces: true
mode: "0644"
loop: "{{ _openeuler_metalink_repos | dict2items | selectattr('key', 'in', _openeuler_repo_sections.stdout_lines | default([])) }}"
become: true
when: openeuler_metalink_enabled
register: _openeuler_metalink_result
vars:
_openeuler_metalink_repos:
OS: "https://mirrors.openeuler.org/metalink?repo=$releasever/OS&arch=$basearch"
everything: "https://mirrors.openeuler.org/metalink?repo=$releasever/everything&arch=$basearch"
EPOL: "https://mirrors.openeuler.org/metalink?repo=$releasever/EPOL/main&arch=$basearch"
debuginfo: "https://mirrors.openeuler.org/metalink?repo=$releasever/debuginfo&arch=$basearch"
source: "https://mirrors.openeuler.org/metalink?repo=$releasever&arch=source"
update: "https://mirrors.openeuler.org/metalink?repo=$releasever/update&arch=$basearch"
update-source: "https://mirrors.openeuler.org/metalink?repo=$releasever/update&arch=source"
- name: Clean dnf cache to apply metalink mirror selection
ansible.builtin.command: dnf clean all
become: true
when:
- openeuler_metalink_enabled
- _openeuler_metalink_result.changed