mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2026-05-11 03:17:40 -02:30
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:
@@ -57,6 +57,7 @@ pr:
|
|||||||
- ubuntu24-kube-router-svc-proxy
|
- ubuntu24-kube-router-svc-proxy
|
||||||
- ubuntu24-ha-separate-etcd
|
- ubuntu24-ha-separate-etcd
|
||||||
- fedora40-flannel-crio-collection-scale
|
- fedora40-flannel-crio-collection-scale
|
||||||
|
- openeuler24-calico
|
||||||
|
|
||||||
# This is for flakey test so they don't disrupt the PR worklflow too much.
|
# This is for flakey test so they don't disrupt the PR worklflow too much.
|
||||||
# Jobs here MUST have a open issue so we don't lose sight of them
|
# Jobs here MUST have a open issue so we don't lose sight of them
|
||||||
@@ -67,7 +68,6 @@ pr-flakey:
|
|||||||
matrix:
|
matrix:
|
||||||
- TESTCASE:
|
- TESTCASE:
|
||||||
- flatcar4081-calico # https://github.com/kubernetes-sigs/kubespray/issues/12309
|
- flatcar4081-calico # https://github.com/kubernetes-sigs/kubespray/issues/12309
|
||||||
- openeuler24-calico # https://github.com/kubernetes-sigs/kubespray/issues/12877
|
|
||||||
|
|
||||||
# The ubuntu24-calico-all-in-one jobs are meant as early stages to prevent running the full CI if something is horribly broken
|
# The ubuntu24-calico-all-in-one jobs are meant as early stages to prevent running the full CI if something is horribly broken
|
||||||
ubuntu24-calico-all-in-one:
|
ubuntu24-calico-all-in-one:
|
||||||
|
|||||||
@@ -12,6 +12,10 @@ coreos_locksmithd_disable: false
|
|||||||
# Install epel repo on Centos/RHEL
|
# Install epel repo on Centos/RHEL
|
||||||
epel_enabled: false
|
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
|
## Oracle Linux specific variables
|
||||||
# Install public repo on Oracle Linux
|
# Install public repo on Oracle Linux
|
||||||
use_oracle_public_repo: true
|
use_oracle_public_repo: true
|
||||||
|
|||||||
@@ -1,3 +1,43 @@
|
|||||||
---
|
---
|
||||||
- name: Import Centos boostrap for openEuler
|
- name: Import CentOS bootstrap for openEuler
|
||||||
import_tasks: centos.yml
|
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
|
||||||
|
|||||||
@@ -3,8 +3,11 @@
|
|||||||
cloud_image: openeuler-2403
|
cloud_image: openeuler-2403
|
||||||
vm_memory: 3072
|
vm_memory: 3072
|
||||||
|
|
||||||
# Openeuler package mgmt is slow for some reason
|
# Use metalink for faster package downloads (auto-selects closest mirror)
|
||||||
pkg_install_timeout: "{{ 10 * 60 }}"
|
openeuler_metalink_enabled: true
|
||||||
|
|
||||||
|
# CI package installation takes ~7min; default 5min is too tight, use 15min for margin
|
||||||
|
pkg_install_timeout: "{{ 15 * 60 }}"
|
||||||
|
|
||||||
# Work around so the Kubernetes 1.35 tests can pass. We will discuss the openeuler support later.
|
# Work around so the Kubernetes 1.35 tests can pass. We will discuss the openeuler support later.
|
||||||
kubeadm_ignore_preflight_errors:
|
kubeadm_ignore_preflight_errors:
|
||||||
|
|||||||
Reference in New Issue
Block a user