Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
1104f25
Take commit msg from SHA-1 to verify pr prefix; don't count Signed-Of…
danpawlik Nov 12, 2025
53981f3
[kustomize_deploy] Improve code clarity
holser Nov 7, 2025
83592de
Move crawl_n_mask to regexp based logic
evallesp Oct 30, 2025
ff8eb72
[fdp_update_container_images] FDP control plane update role
mnietoji Nov 7, 2025
3123b52
Fix ceph 9 RGW deployment
fmount Oct 24, 2025
3029813
[reproducer] Add virthost DNS record
hjensas Nov 13, 2025
f970185
[os_must_gather] Increase must gather timeout; print error on timeout
danpawlik Nov 17, 2025
bb65d42
[libvirt_manager] Fix firewalld config change in cleanup task
cschwede Nov 17, 2025
76a5cba
[os_must_gather] Increase default timeout to 30 minutes
danpawlik Nov 18, 2025
23130a3
[radvd] Add radvd role for IPv6 RA management
hjensas Nov 13, 2025
0b0a801
[hook: ironic_network] Opt out provisioning router
hjensas Nov 13, 2025
ffa7b99
[multiple] Integrate radvd role in libvirt_manager
hjensas Nov 13, 2025
270f4c1
[radvd] radvd config snippet pretty rendering
hjensas Nov 19, 2025
796eb93
[test_operator][tobiko] Replace ubuntu with advanced_vm config
eduolivares Nov 17, 2025
ec1e88b
[test_operator][tobiko] Align README with defaults
eduolivares Nov 20, 2025
a63bdc6
[ssh_jumper] Filter to have unique values in Host
amartyasinha Nov 20, 2025
b312943
[multiple] Move ansible_user_dir to group_vars
amartyasinha Nov 10, 2025
5a539ea
Add uni04delta adoption scenario patch file
rebtoor Nov 19, 2025
7ba5419
[multiple] Convert CODEOWNERS to Kubernetes OWNERS format
rebtoor Nov 17, 2025
8eeaca4
[cleanup_openstack] Work around for rabbitmq cluster removal issue
eshulman2 Nov 24, 2025
e99f135
Update custom ca certs hook
kstrenkova Nov 13, 2025
ab6eef1
[test_operator] Scheduling for Horizon and Ansible
hjensas Nov 24, 2025
5468715
Add nodesets based on OCP 4.20.1
danpawlik Nov 21, 2025
ab9ad21
[pcp_metrics] Add repository setup for network nodes
rebtoor Nov 27, 2025
0bd221c
Add irrelevant-files for Ironic hooks to Zuul jobs
hjensas Nov 25, 2025
dd9b084
Set resource_class on Ironic nodes during enrollment
hjensas Nov 25, 2025
fe32abe
content-provider: Explicitly announce resources
hjensas Nov 24, 2025
b6f5327
[libvirt_manager] ocp_layout fix disksize override
hjensas Dec 1, 2025
14b37c7
[edpm_prepare] Add new job to run minor update with baremetal deployment
rabi Nov 10, 2025
897a788
ceph.yml: rely on cifmw_ceph_ipv6 flag only for IPv4/IPv6 selection
rebtoor Nov 27, 2025
436e1b3
Bump Ceph to Tentacle for upstream hci jobs
fmount Dec 2, 2025
d123a4a
[cifmw_helpers] Add another task to parse inventory file
danpawlik Dec 1, 2025
7fb27ba
[libvirt_manager] Rename 'action' variable to avoid reserved name war…
holser Dec 3, 2025
67e3096
[libvirt_manager] Fix ssh config cleanup
holser Dec 4, 2025
971e55a
[test_operator] Dump test manifests in yaml
karelyatin Nov 20, 2025
33d5122
Run minimal tempest tests after minor update
rabi Dec 5, 2025
919c514
Remove empty file accidentally added in 0cf91bc7
holser Dec 6, 2025
d9f363b
Exclude AI personal configs from commits
holser Dec 5, 2025
1f01109
Add group_vars symlink to hooks/playbooks
amartyasinha Dec 4, 2025
4f1d278
[reproducer] Pass libvirt layout to controller-0 for correct boot mod…
slagle Nov 24, 2025
2aa3bce
(multiple) Fix home directory path when delegating to localhost
holser Dec 5, 2025
5f5393f
[hooks] Add install-openstack-lightspeed hook
malingatembo Nov 19, 2025
7b2ea45
Add a new hook for storing Tempest timing data
kstrenkova Sep 24, 2025
057f5ea
[set_openstack_containers] Fix failing molecule job for set_openstack…
amartyasinha Dec 8, 2025
e478c44
[nat64_appliance] Add support for downloading pre-built images
mnietoji Dec 10, 2025
cc92eac
[kustomize_deploy] Fix OLM values.yaml not available to kustomize lookup
eduolivares Dec 11, 2025
b9f05e2
[multiple] Added IPv6 scenarios for NFV with OVS-DPDK and SR-IOV
mnietoji Nov 7, 2025
8113453
[os_net_setup] Fix IPv6 subnet creation
mnietoji Dec 12, 2025
b954eac
[ci_gen_kustomize_values] Use ctlplane_ocp_nad ranges for LB and NAD
eduolivares Dec 12, 2025
06f336f
[config_drive]fix _user_data_change fails assertion
pinikomarov Nov 24, 2025
82205f7
[set_openstack_containers] Add fallback task for operators not having…
amartyasinha Dec 16, 2025
052ccea
Revert " [config_drive]fix _user_data_change fails assertion"
danpawlik Dec 17, 2025
6d21b23
Remove cifmw client container build
amartyasinha Dec 17, 2025
76396a5
[build_push_container] Use host network
karelyatin Dec 17, 2025
f95c9fa
[libvirt_manager] Fix vm UUID
cjeanner Dec 17, 2025
09fe4ef
Reapply " [config_drive]fix _user_data_change fails assertion"
hjensas Dec 18, 2025
8eca676
[config_drive] Fix _net_data_change assertion for soft-clean scenario
hjensas Dec 16, 2025
8bd3f89
[nat64_appliance] Make ci_script usage optional
hjensas Dec 12, 2025
51e55db
Add vexxhost-only nodesets for edpm and kuttl jobs
amoralej Dec 17, 2025
afeece8
[sushy_emulator] Add retry logic for container image pull
Valkyrie00 Dec 17, 2025
e5fa7b6
Add .github/workflows to irrelevant-files for edpm jobs
amartyasinha Dec 17, 2025
b141019
[cert_manager] Update default cert manager version to 1.19.2
danpawlik Dec 16, 2025
a725eec
Add cifmw_test_operator_tobiko_name to update-edpm.yml
eduolivares Dec 22, 2025
020f3fe
[multiple] Use FQCN for calling a module
amartyasinha Dec 24, 2025
a80e1be
[multiple] Consolidate openstack ns var: cifmw_openstack_namespace
amartyasinha Dec 4, 2025
43ce8f1
[krb_request] Do not use FQCN for krb_request module (exception)
amartyasinha Jan 6, 2026
ba7eef5
[build_push_container] Remove build_push_container role
amartyasinha Jan 5, 2026
26c82f8
[pcp_metrics] Skip malformed annotation lines
evallesp Dec 15, 2025
3af40cb
Do not use FQCN for cephx_key module (exception)
amartyasinha Jan 7, 2026
1b56d85
[multiple] Add fdp_update_edpm role for EDPM node updates
mnietoji Nov 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
70 changes: 0 additions & 70 deletions .github/CODEOWNERS

This file was deleted.

7 changes: 6 additions & 1 deletion .github/workflows/verify-pr-prefix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,12 @@ jobs:
with:
fetch-depth: 0

- name: Dump commit message to file
run: |
git fetch origin ${{ github.event.pull_request.head.sha }}
git log -1 --pretty=format:"%B" ${{ github.event.pull_request.head.sha }} | head -n1 > commit-message-file

- name: Run commit message check
id: prefixcheck
run: |
./scripts/check-role-prefix.sh
./scripts/check-role-prefix.sh commit-message-file
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,7 @@ docs/dictionary/tmp
.env
.idea/
.ansible/
# Cursor AI - personal configs not to commit
.cursor
# Claude AI
.claude
4 changes: 0 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,3 @@ plugin-development-disable: # Revert all changes and delete .env if no longer ne
grep -lEr --include=\*.py --exclude-dir=.venv 'from (?:plugins|tests)' | xargs gsed -i -e 's/from plugins/from ansible_collections\.cifmw\.general\.plugins/g' -e 's/from tests/from ansible_collections\.cifmw\.general\.tests/g'
gsed -i '/PYTHONPATH=/d' .env
[ -s .env ] || rm .env

.PHONY: build-cifmw-client-container
build-cifmw-client-container: # Locally build cifmw-client container
podman build --security-opt label=disable -t localhost/cifmw-client:latest -f containerfiles/Containerfile.client .
Empty file.
7 changes: 7 additions & 0 deletions OWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# See the OWNERS docs at https://www.kubernetes.dev/docs/guide/owners/

approvers:
- cifmw-squad

reviewers:
- cifmw-squad
119 changes: 119 additions & 0 deletions OWNERS_ALIASES
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
# See the OWNERS_ALIASES docs: https://git.k8s.io/community/contributors/guide/owners.md#owners_aliases

aliases:
cifmw-squad:
- rebtoor
- fultonj
- dasm
- danpawlik
- Valkyrie00
- yorabl
- tosky
- eshulman2
- evallesp
- bshewale
- amartyasinha
- brjackma
- michburk

adoption-team:
- sathlan
- jistr
- holser
- ciecierski
- pinikomarov
- klgill
- archana203

bgp-team:
- lmiccini
- ccamposr
- eduolivares
- frenzyfriday

dcn-team:
- fultonj
- jokke-ilujo

must-gather-team:
- dprince
- olliewalsh
- gibizer
- fmount
- abays
- pkomarov
- juliakreger
- Akrog
- stuggi

nfv-team:
- saneax
- atyronesmith
- eshulman2
- mnietoji
- rdiazcam

security-team:
- xek
- d34dh0r53
- dmendiza
- pkomarov
- vakwetu
- mauricioharley
- afaranha
- Deydra71

storage-team:
- eharney
- fultonj
- fmount
- gfidente
- cschwede
- Akrog
- gouthampacha
- tosky
- ASBishop
- silvacarloss
- konan-abhi

ciops-team:
- arxcruz
- dasm
- sdatko
- adrianfusco
- pojadhav
- kstrenkova
- imatza-rh
- sauragar
- belolipa

updates-team:
- sathlan
- jistr
- holser
- ciecierski
- pinikomarov
- archana203

# Individual contributor groups (already expanded)
shiftstack-team:
- imatza-rh
- eurijon

polarion-team:
- tosky
- jparoly
- jirimacku

reportportal-team:
- jirimacku
- dsariel
- sdatko

storage-contributors:
- fultonj
- fmount
- abays

tofu-owners:
- eshulman2
7 changes: 0 additions & 7 deletions ci/playbooks/build_push_container.yml

This file was deleted.

14 changes: 0 additions & 14 deletions ci/playbooks/build_push_container_runner.yml

This file was deleted.

8 changes: 7 additions & 1 deletion ci/playbooks/content_provider/run.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,15 @@
{{ content_provider_ip | default('nowhere') }}

- name: Set up content registry IP address
vars:
_registry_ip: "{{ content_provider_ip | default('') | trim }}"
_registry_available: "{{ _registry_ip != '' }}"
_registry_ip_port: "{{ _registry_ip }}:{{ cifmw_rp_registry_port | default('5001') }}"
zuul_return:
data:
zuul:
pause: true
content_provider_registry_ip: "{{ content_provider_ip | default('nowhere') | trim }}"
cifmw_operator_build_output: "{{ inner_ansible_vars.cifmw_operator_build_output }}"
content_provider_registry_available: "{{ _registry_available }}"
content_provider_registry_ip: "{{ _registry_ip }}"
content_provider_registry_ip_port: "{{ _registry_ip_port if _registry_available else '' }}"
127 changes: 127 additions & 0 deletions ci/playbooks/edpm_baremetal_update/run.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
---
- name: "Run ci/playbooks/edpm_baremetal_update/run.yml"
hosts: "{{ cifmw_zuul_target_host | default('all') }}"
gather_facts: true
tasks:
- name: Filter out host if needed
when:
- cifmw_zuul_target_host is defined
- cifmw_zuul_target_host != 'all'
- inventory_hostname != cifmw_zuul_target_host
ansible.builtin.meta: end_host

- name: Check for edpm-ansible.yml file
ansible.builtin.stat:
path: "{{ ansible_user_dir }}/ci-framework-data/artifacts/edpm-ansible.yml"
register: edpm_file

- name: Check if new ssh keypair exists
ansible.builtin.include_role:
name: recognize_ssh_keypair

- name: Add crc node in local inventory
ansible.builtin.add_host:
name: crc
ansible_ssh_private_key_file: "{{ ansible_user_dir }}/.crc/machines/crc/{{ crc_ssh_keypair }}"
ansible_ssh_user: core
ansible_host: api.crc.testing

- name: Ensure we know ssh hosts
ansible.builtin.shell:
cmd: "ssh-keyscan {{ hostvars[item].ansible_host }} >> ~/.ssh/known_hosts"
loop: "{{ hostvars.keys() | reject('equalto', 'localhost') }}"

- name: Inject CRC in zuul_inventory
block:
- name: Load zuul_inventory
register: _inventory
ansible.builtin.slurp:
path: "{{ ansible_user_dir }}/ci-framework-data/artifacts/zuul_inventory.yml"

- name: Inject CRC in zuul_inventory.yml
vars:
_crc:
all:
hosts:
crc: "{{ dict(hostvars.crc) }}"
_updated: >-
{{
_inventory.content | b64decode | from_yaml | combine(_crc, recursive=true)
}}
ansible.builtin.copy:
dest: "{{ ansible_user_dir }}/ci-framework-data/artifacts/zuul_inventory.yml"
content: "{{ _updated | to_nice_yaml }}"
mode: "0644"

- name: Set default pre-update tag if not provided
ansible.builtin.set_fact:
cifmw_minor_update_pre_update_tag: "{{ cifmw_minor_update_pre_update_tag | default('18.0-fr3-latest') }}"

- name: Get pre-update index image digest from tag
ansible.builtin.shell: >-
skopeo inspect
docker://quay.io/openstack-k8s-operators/openstack-operator-index:{{ cifmw_minor_update_pre_update_tag }}
| jq -r '.Digest'
register: pre_update_digest_result
changed_when: false
failed_when: pre_update_digest_result.rc != 0

- name: Set pre-update index image using digest from tag
ansible.builtin.set_fact:
cifmw_minor_update_pre_update_index_image: >-
quay.io/openstack-k8s-operators/openstack-operator-index@{{ pre_update_digest_result.stdout | trim }}

- name: Get minor update index image from content provider or use default
ansible.builtin.set_fact:
cifmw_minor_update_index_image: >-
{{
cifmw_operator_build_output.operators['openstack-operator'].image_catalog
if (cifmw_operator_build_output is defined and
cifmw_operator_build_output.operators is defined and
'openstack-operator' in cifmw_operator_build_output.operators)
else cifmw_minor_update_pre_update_index_image
}}

- name: Override operator build output with pre-update index image for Phase 1
ansible.builtin.set_fact:
cifmw_operator_build_output_pre_update: >-
{{
{
'cifmw_operator_build_output': {
'operators': {
'openstack-operator': {
'image_catalog': cifmw_minor_update_pre_update_index_image
}
}
}
}
}}

- name: Phase 1 - Deploy with pre-update index image using deploy-edpm.yml
block:
- name: Write pre-update operator build output to temporary file
ansible.builtin.copy:
dest: "{{ ansible_user_dir }}/ci-framework-data/artifacts/operator_build_output_pre_update.yml"
content: "{{ cifmw_operator_build_output_pre_update | to_nice_yaml }}"
mode: "0644"

- name: Perform Podified and EDPM deployment on compute nodes with virtual baremetal (pre-update)
ansible.builtin.command:
chdir: "{{ ansible_user_dir }}/src/github.com/openstack-k8s-operators/ci-framework"
cmd: >-
ansible-playbook deploy-edpm.yml
-i "{{ ansible_user_dir }}/ci-framework-data/artifacts/zuul_inventory.yml"
-e @group_vars/all.yml
-e @scenarios/centos-9/base.yml
-e @scenarios/centos-9/edpm_baremetal_deployment_ci.yml
{%- if edpm_file.stat.exists %}
-e @{{ ansible_user_dir }}/ci-framework-data/artifacts/edpm-ansible.yml
{%- endif %}
{%- if cifmw_extras is defined %}
{%- for extra_var in cifmw_extras %}
-e "{{ extra_var }}"
{%- endfor %}
{%- endif %}
-e "@{{ ansible_user_dir }}/ci-framework-data/artifacts/parameters/zuul-params.yml"
-e "@{{ ansible_user_dir }}/ci-framework-data/artifacts/operator_build_output_pre_update.yml"
-e "cifmw_prepare_openstackversion=false"
Loading