From 14b4d2d41e371ecc515fb457af9ab45bedb303e0 Mon Sep 17 00:00:00 2001 From: Noe Luaces Date: Fri, 1 May 2026 23:02:58 +0200 Subject: [PATCH 01/10] add system sites e2e tests --- tests/e2e/scenarios/system-sites/ansible.cfg | 8 ++ .../scenarios/system-sites/cleanup-tasks.yml | 34 ++++++ .../system-sites/inventory/group_vars/all.yml | 7 ++ .../system-sites/inventory/host_vars/east.yml | 4 + .../system-sites/inventory/host_vars/west.yml | 5 + .../system-sites/inventory/hosts.yml | 5 + .../system-sites/resources/east/connector.yml | 9 ++ .../system-sites/resources/east/site.yml | 5 + .../system-sites/resources/west/listener.yml | 9 ++ .../resources/west/router_access.yml | 14 +++ .../system-sites/resources/west/site.yml | 7 ++ tests/e2e/scenarios/system-sites/test.yml | 102 ++++++++++++++++++ 12 files changed, 209 insertions(+) create mode 100644 tests/e2e/scenarios/system-sites/ansible.cfg create mode 100644 tests/e2e/scenarios/system-sites/cleanup-tasks.yml create mode 100644 tests/e2e/scenarios/system-sites/inventory/group_vars/all.yml create mode 100644 tests/e2e/scenarios/system-sites/inventory/host_vars/east.yml create mode 100644 tests/e2e/scenarios/system-sites/inventory/host_vars/west.yml create mode 100644 tests/e2e/scenarios/system-sites/inventory/hosts.yml create mode 100644 tests/e2e/scenarios/system-sites/resources/east/connector.yml create mode 100644 tests/e2e/scenarios/system-sites/resources/east/site.yml create mode 100644 tests/e2e/scenarios/system-sites/resources/west/listener.yml create mode 100644 tests/e2e/scenarios/system-sites/resources/west/router_access.yml create mode 100644 tests/e2e/scenarios/system-sites/resources/west/site.yml create mode 100644 tests/e2e/scenarios/system-sites/test.yml diff --git a/tests/e2e/scenarios/system-sites/ansible.cfg b/tests/e2e/scenarios/system-sites/ansible.cfg new file mode 100644 index 000000000..5d6186172 --- /dev/null +++ b/tests/e2e/scenarios/system-sites/ansible.cfg @@ -0,0 +1,8 @@ +[defaults] +collections_path = ../../collections +roles_path = ../../collections/ansible_collections/e2e/tests/roles +deprecation_warnings = False + +[persistent_connection] +connect_timeout = 30 +command_timeout = 30 diff --git a/tests/e2e/scenarios/system-sites/cleanup-tasks.yml b/tests/e2e/scenarios/system-sites/cleanup-tasks.yml new file mode 100644 index 000000000..eb6e95347 --- /dev/null +++ b/tests/e2e/scenarios/system-sites/cleanup-tasks.yml @@ -0,0 +1,34 @@ +--- +- name: "[ {{ test_identifier }} ] - Cleanup frontend container" + ansible.builtin.command: + cmd: "{{ platform }} rm -f frontend" + failed_when: false + when: + - not skip_teardown | default(false) | bool + - "'west' in inventory_hostname" + +- name: "[ {{ test_identifier }} ] - Cleanup backend container" + ansible.builtin.command: + cmd: "{{ platform }} rm -f backend" + failed_when: false + when: + - not skip_teardown | default(false) | bool + - "'east' in inventory_hostname" + +- name: "[ {{ test_identifier }} ] - Stop namespaces" + skupper.v2.system: + action: stop + namespace: "{{ namespace_name }}" + platform: podman + failed_when: false + when: not skip_teardown | default(false) | bool + +- name: "[ {{ test_identifier }} ] - Uninstall system controller" + skupper.v2.controller: + action: uninstall + platform: podman + failed_when: false + run_once: true + when: not skip_teardown | default(false) | bool + + diff --git a/tests/e2e/scenarios/system-sites/inventory/group_vars/all.yml b/tests/e2e/scenarios/system-sites/inventory/group_vars/all.yml new file mode 100644 index 000000000..5a48ee067 --- /dev/null +++ b/tests/e2e/scenarios/system-sites/inventory/group_vars/all.yml @@ -0,0 +1,7 @@ +--- +ansible_connection: local +ansible_user: "{{ lookup('env', 'USER') }}" +ansible_python_interpreter: /usr/bin/python3 +debug: false +namespace_prefix: "e2e" +generate_namespaces_namespace_label: "hello-world-system-sites" diff --git a/tests/e2e/scenarios/system-sites/inventory/host_vars/east.yml b/tests/e2e/scenarios/system-sites/inventory/host_vars/east.yml new file mode 100644 index 000000000..e12cd5835 --- /dev/null +++ b/tests/e2e/scenarios/system-sites/inventory/host_vars/east.yml @@ -0,0 +1,4 @@ +--- +# Platform configuration +platform: podman +namespace_name: east diff --git a/tests/e2e/scenarios/system-sites/inventory/host_vars/west.yml b/tests/e2e/scenarios/system-sites/inventory/host_vars/west.yml new file mode 100644 index 000000000..edfaec3b4 --- /dev/null +++ b/tests/e2e/scenarios/system-sites/inventory/host_vars/west.yml @@ -0,0 +1,5 @@ +--- +# Platform configuration +platform: podman +namespace_name: west + diff --git a/tests/e2e/scenarios/system-sites/inventory/hosts.yml b/tests/e2e/scenarios/system-sites/inventory/hosts.yml new file mode 100644 index 000000000..9aff776d1 --- /dev/null +++ b/tests/e2e/scenarios/system-sites/inventory/hosts.yml @@ -0,0 +1,5 @@ +--- +all: + hosts: + west: + east: diff --git a/tests/e2e/scenarios/system-sites/resources/east/connector.yml b/tests/e2e/scenarios/system-sites/resources/east/connector.yml new file mode 100644 index 000000000..0d634e9d8 --- /dev/null +++ b/tests/e2e/scenarios/system-sites/resources/east/connector.yml @@ -0,0 +1,9 @@ +--- +apiVersion: skupper.io/v2alpha1 +kind: Connector +metadata: + name: backend +spec: + routingKey: backend + port: 9090 + host: 127.0.0.1 diff --git a/tests/e2e/scenarios/system-sites/resources/east/site.yml b/tests/e2e/scenarios/system-sites/resources/east/site.yml new file mode 100644 index 000000000..a02b9cc5d --- /dev/null +++ b/tests/e2e/scenarios/system-sites/resources/east/site.yml @@ -0,0 +1,5 @@ +--- +apiVersion: skupper.io/v2alpha1 +kind: Site +metadata: + name: east diff --git a/tests/e2e/scenarios/system-sites/resources/west/listener.yml b/tests/e2e/scenarios/system-sites/resources/west/listener.yml new file mode 100644 index 000000000..026ba2703 --- /dev/null +++ b/tests/e2e/scenarios/system-sites/resources/west/listener.yml @@ -0,0 +1,9 @@ +--- +apiVersion: skupper.io/v2alpha1 +kind: Listener +metadata: + name: backend +spec: + routingKey: backend + port: 8080 + host: 127.0.0.1 diff --git a/tests/e2e/scenarios/system-sites/resources/west/router_access.yml b/tests/e2e/scenarios/system-sites/resources/west/router_access.yml new file mode 100644 index 000000000..cbf48b3fc --- /dev/null +++ b/tests/e2e/scenarios/system-sites/resources/west/router_access.yml @@ -0,0 +1,14 @@ +apiVersion: skupper.io/v2alpha1 +kind: RouterAccess +metadata: + name: router-access-west + namespace: west +spec: + roles: + - name: inter-router + port: 55671 + - name: edge + port: 45671 + subjectAlternativeNames: + - 0.0.0.0 + - '::' \ No newline at end of file diff --git a/tests/e2e/scenarios/system-sites/resources/west/site.yml b/tests/e2e/scenarios/system-sites/resources/west/site.yml new file mode 100644 index 000000000..e069d75da --- /dev/null +++ b/tests/e2e/scenarios/system-sites/resources/west/site.yml @@ -0,0 +1,7 @@ +--- +apiVersion: skupper.io/v2alpha1 +kind: Site +metadata: + name: west +spec: + linkAccess: default diff --git a/tests/e2e/scenarios/system-sites/test.yml b/tests/e2e/scenarios/system-sites/test.yml new file mode 100644 index 000000000..8f13f9821 --- /dev/null +++ b/tests/e2e/scenarios/system-sites/test.yml @@ -0,0 +1,102 @@ +--- +- name: Hello World System Sites Test (Auto) + hosts: all + roles: + - e2e.tests.skupper_test_images + + vars: + test_identifier: "Hello World with System Sites (Auto)" + + environment: + SKUPPER_PLATFORM: podman + + tasks: + # Pre-test cleanup + - name: "[ {{ test_identifier }} ] - Pre-test cleanup" + ansible.builtin.include_tasks: cleanup-tasks.yml + + - name: "[ {{ test_identifier }} ] - Main test block" + block: + + # Install system controller (run once on localhost) + - name: "[ {{ test_identifier }} ] - Install Skupper system controller" + ansible.builtin.command: + cmd: skupper system install --reload-type=auto + run_once: true + delegate_to: localhost + register: system_install + + # Docker West Site - Setup and get token + - name: "[ {{ test_identifier }} ] - Podman West Site Setup" + block: + - name: "[ {{ test_identifier }} ] - Deploy frontend service" + ansible.builtin.command: + cmd: "{{ platform }} run --name frontend -d --rm -p 127.0.0.1:7070:8080 quay.io/skupper/hello-world-frontend --backend http://host.containers.internal:8080" + changed_when: false + when: "'west' in inventory_hostname" + + - name: "[ {{ test_identifier }} ] - Apply west site resources" + skupper.v2.resource: + path: "{{ playbook_dir }}/resources/west/" + platform: podman + namespace: "{{ namespace_name }}" + when: "'west' in inventory_hostname" + + - name: "[ {{ test_identifier }} ] - Additional wait for router initialization" + ansible.builtin.pause: + seconds: 3 + + - name: "[ {{ test_identifier }} ] - Wait for site to be fully ready" + ansible.builtin.command: + cmd: "skupper site status -n {{ namespace_name }}" + register: site_status + retries: 60 + delay: 3 + until: site_status.rc == 0 + changed_when: false + + - name: "[ {{ test_identifier }} ] - Generate link token" + ansible.builtin.shell: + cmd: "skupper link generate -n {{ namespace_name }} -p podman > /tmp/west-link-token.yaml" + changed_when: true + register: link_generate + + when: "'west' in inventory_hostname" + run_once: true + + # Docker East Site - Must run after token is created + - name: "[ {{ test_identifier }} ] - Podman East Site Setup" + block: + - name: "[ {{ test_identifier }} ] - Deploy backend service" + ansible.builtin.command: + cmd: "{{ platform }} run --name backend -d --rm -p 127.0.0.1:9090:8080 quay.io/skupper/hello-world-backend" + changed_when: false + register: backend_deploy + + - name: "[ {{ test_identifier }} ] - Apply east site resources" + skupper.v2.resource: + path: "{{ playbook_dir }}/resources/east/" + platform: podman + namespace: "{{ namespace_name }}" + when: "'east' in inventory_hostname" + + - name: "[ {{ test_identifier }} ] - Apply link token" + ansible.builtin.command: + cmd: "skupper system apply -f /tmp/west-link-token.yaml -n {{ namespace_name }}" + changed_when: true + when: "'east' in inventory_hostname" + + # Verify connectivity - test if backend is accessible from frontend container + - name: "[ {{ test_identifier }} ] - Test via Skupper (listener)" + ansible.builtin.command: + cmd: "curl -s -f http://127.0.0.1:8080/api/hello" + register: curl_result + retries: 5 + delay: 4 + until: curl_result.rc == 0 + when: "'west' in inventory_hostname" + changed_when: false + + always: + - name: "[ {{ test_identifier }} ] - Post-test cleanup" + ansible.builtin.include_tasks: cleanup-tasks.yml From c31795856bd69b564a118290db2bf0072dbd5789 Mon Sep 17 00:00:00 2001 From: Noe Luaces Date: Mon, 4 May 2026 14:56:28 +0200 Subject: [PATCH 02/10] adding test to ci --- tests/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Makefile b/tests/Makefile index 82ad56400..1716ddea7 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -3,7 +3,7 @@ EXTRA_VARS := --extra-vars "@$(ROOT_PATH)/vars.yml" COLLECTION_PATH := $(ROOT_PATH)/e2e/collections/ansible_collections/e2e/tests # Remove expose-pods-by-name from the CI tests, until we close # this issue https://github.com/skupperproject/skupper/issues/2251 -TESTS_CI := attached-connector,ha,hello-world,labels-and-annotations +TESTS_CI := attached-connector,ha,hello-world,labels-and-annotations,system-sites # E2E Test directories E2E_TEST_DIRS := $(sort $(wildcard $(ROOT_PATH)/e2e/scenarios/*)) From 393a96c97ce7d240605dfa85632e938fe41b1500 Mon Sep 17 00:00:00 2001 From: Noe Luaces Date: Tue, 5 May 2026 21:56:30 +0200 Subject: [PATCH 03/10] replaced auto reload tests with manual reload --- tests/e2e/scenarios/system-sites/test.yml | 62 +++++++++++------------ 1 file changed, 29 insertions(+), 33 deletions(-) diff --git a/tests/e2e/scenarios/system-sites/test.yml b/tests/e2e/scenarios/system-sites/test.yml index 8f13f9821..a0874d5ce 100644 --- a/tests/e2e/scenarios/system-sites/test.yml +++ b/tests/e2e/scenarios/system-sites/test.yml @@ -1,11 +1,11 @@ --- -- name: Hello World System Sites Test (Auto) +- name: Hello World System Sites Test (Manual Reload) hosts: all roles: - e2e.tests.skupper_test_images vars: - test_identifier: "Hello World with System Sites (Auto)" + test_identifier: "Hello World with System Sites (Manual Reload)" environment: SKUPPER_PLATFORM: podman @@ -17,16 +17,16 @@ - name: "[ {{ test_identifier }} ] - Main test block" block: - - # Install system controller (run once on localhost) - - name: "[ {{ test_identifier }} ] - Install Skupper system controller" - ansible.builtin.command: - cmd: skupper system install --reload-type=auto + - name: "[ {{ test_identifier }} ] - Install system controller" + skupper.v2.controller: + action: install + platform: podman + failed_when: false run_once: true delegate_to: localhost register: system_install - # Docker West Site - Setup and get token + # West Site - Setup and get token - name: "[ {{ test_identifier }} ] - Podman West Site Setup" block: - name: "[ {{ test_identifier }} ] - Deploy frontend service" @@ -42,29 +42,17 @@ namespace: "{{ namespace_name }}" when: "'west' in inventory_hostname" - - name: "[ {{ test_identifier }} ] - Additional wait for router initialization" - ansible.builtin.pause: - seconds: 3 - - - name: "[ {{ test_identifier }} ] - Wait for site to be fully ready" - ansible.builtin.command: - cmd: "skupper site status -n {{ namespace_name }}" - register: site_status - retries: 60 - delay: 3 - until: site_status.rc == 0 - changed_when: false - - - name: "[ {{ test_identifier }} ] - Generate link token" - ansible.builtin.shell: - cmd: "skupper link generate -n {{ namespace_name }} -p podman > /tmp/west-link-token.yaml" - changed_when: true - register: link_generate + - name: "[ {{ test_identifier }} ] - Start west namespace" + skupper.v2.system: + action: start + platform: podman + namespace: "{{ namespace_name }}" + register: west when: "'west' in inventory_hostname" run_once: true - # Docker East Site - Must run after token is created + # East Site - Must run after token is created - name: "[ {{ test_identifier }} ] - Podman East Site Setup" block: - name: "[ {{ test_identifier }} ] - Deploy backend service" @@ -80,10 +68,18 @@ namespace: "{{ namespace_name }}" when: "'east' in inventory_hostname" - - name: "[ {{ test_identifier }} ] - Apply link token" - ansible.builtin.command: - cmd: "skupper system apply -f /tmp/west-link-token.yaml -n {{ namespace_name }}" - changed_when: true + - name: "[ {{ test_identifier }} ] - Apply token to east site" + skupper.v2.resource: + def: "{{ west.links['0.0.0.0'] }}" + namespace: "{{ namespace_name }}" + platform: "podman" + + - name: "[ {{ test_identifier }} ] - Start east namespace" + skupper.v2.system: + action: start + platform: podman + namespace: "{{ namespace_name }}" + register: east when: "'east' in inventory_hostname" # Verify connectivity - test if backend is accessible from frontend container @@ -91,8 +87,8 @@ ansible.builtin.command: cmd: "curl -s -f http://127.0.0.1:8080/api/hello" register: curl_result - retries: 5 - delay: 4 + retries: 10 + delay: 10 until: curl_result.rc == 0 when: "'west' in inventory_hostname" changed_when: false From 842bdfa6bb4c61633940a3e28588a22d73e0dfba Mon Sep 17 00:00:00 2001 From: Noe Luaces Date: Wed, 6 May 2026 15:33:21 +0200 Subject: [PATCH 04/10] change test in order to use podman installed in ci --- tests/e2e/scenarios/system-sites/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/e2e/scenarios/system-sites/test.yml b/tests/e2e/scenarios/system-sites/test.yml index a0874d5ce..735061d5e 100644 --- a/tests/e2e/scenarios/system-sites/test.yml +++ b/tests/e2e/scenarios/system-sites/test.yml @@ -30,7 +30,7 @@ - name: "[ {{ test_identifier }} ] - Podman West Site Setup" block: - name: "[ {{ test_identifier }} ] - Deploy frontend service" - ansible.builtin.command: + ansible.builtin.shell: cmd: "{{ platform }} run --name frontend -d --rm -p 127.0.0.1:7070:8080 quay.io/skupper/hello-world-frontend --backend http://host.containers.internal:8080" changed_when: false when: "'west' in inventory_hostname" @@ -56,7 +56,7 @@ - name: "[ {{ test_identifier }} ] - Podman East Site Setup" block: - name: "[ {{ test_identifier }} ] - Deploy backend service" - ansible.builtin.command: + ansible.builtin.shell: cmd: "{{ platform }} run --name backend -d --rm -p 127.0.0.1:9090:8080 quay.io/skupper/hello-world-backend" changed_when: false register: backend_deploy From c540a2295f0d0bdc8392eae51a694075817c0e49 Mon Sep 17 00:00:00 2001 From: Noe Luaces Date: Thu, 7 May 2026 14:35:44 +0200 Subject: [PATCH 05/10] replace podman by docker --- .../scenarios/system-sites/cleanup-tasks.yml | 4 ++-- .../system-sites/inventory/host_vars/east.yml | 2 +- .../system-sites/inventory/host_vars/west.yml | 2 +- tests/e2e/scenarios/system-sites/test.yml | 18 +++++++++--------- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/tests/e2e/scenarios/system-sites/cleanup-tasks.yml b/tests/e2e/scenarios/system-sites/cleanup-tasks.yml index eb6e95347..b366bad16 100644 --- a/tests/e2e/scenarios/system-sites/cleanup-tasks.yml +++ b/tests/e2e/scenarios/system-sites/cleanup-tasks.yml @@ -19,14 +19,14 @@ skupper.v2.system: action: stop namespace: "{{ namespace_name }}" - platform: podman + platform: "{{ platform }}" failed_when: false when: not skip_teardown | default(false) | bool - name: "[ {{ test_identifier }} ] - Uninstall system controller" skupper.v2.controller: action: uninstall - platform: podman + platform: "{{ platform }}" failed_when: false run_once: true when: not skip_teardown | default(false) | bool diff --git a/tests/e2e/scenarios/system-sites/inventory/host_vars/east.yml b/tests/e2e/scenarios/system-sites/inventory/host_vars/east.yml index e12cd5835..52376ebd5 100644 --- a/tests/e2e/scenarios/system-sites/inventory/host_vars/east.yml +++ b/tests/e2e/scenarios/system-sites/inventory/host_vars/east.yml @@ -1,4 +1,4 @@ --- # Platform configuration -platform: podman +platform: docker namespace_name: east diff --git a/tests/e2e/scenarios/system-sites/inventory/host_vars/west.yml b/tests/e2e/scenarios/system-sites/inventory/host_vars/west.yml index edfaec3b4..880dcc221 100644 --- a/tests/e2e/scenarios/system-sites/inventory/host_vars/west.yml +++ b/tests/e2e/scenarios/system-sites/inventory/host_vars/west.yml @@ -1,5 +1,5 @@ --- # Platform configuration -platform: podman +platform: docker namespace_name: west diff --git a/tests/e2e/scenarios/system-sites/test.yml b/tests/e2e/scenarios/system-sites/test.yml index 735061d5e..f48956073 100644 --- a/tests/e2e/scenarios/system-sites/test.yml +++ b/tests/e2e/scenarios/system-sites/test.yml @@ -8,7 +8,7 @@ test_identifier: "Hello World with System Sites (Manual Reload)" environment: - SKUPPER_PLATFORM: podman + SKUPPER_PLATFORM: "{{ platform }}" tasks: # Pre-test cleanup @@ -20,14 +20,14 @@ - name: "[ {{ test_identifier }} ] - Install system controller" skupper.v2.controller: action: install - platform: podman + platform: "{{ platform }}" failed_when: false run_once: true delegate_to: localhost register: system_install # West Site - Setup and get token - - name: "[ {{ test_identifier }} ] - Podman West Site Setup" + - name: "[ {{ test_identifier }} ] - West Site Setup" block: - name: "[ {{ test_identifier }} ] - Deploy frontend service" ansible.builtin.shell: @@ -38,14 +38,14 @@ - name: "[ {{ test_identifier }} ] - Apply west site resources" skupper.v2.resource: path: "{{ playbook_dir }}/resources/west/" - platform: podman + platform: "{{ platform }}" namespace: "{{ namespace_name }}" when: "'west' in inventory_hostname" - name: "[ {{ test_identifier }} ] - Start west namespace" skupper.v2.system: action: start - platform: podman + platform: "{{ platform }}" namespace: "{{ namespace_name }}" register: west @@ -53,7 +53,7 @@ run_once: true # East Site - Must run after token is created - - name: "[ {{ test_identifier }} ] - Podman East Site Setup" + - name: "[ {{ test_identifier }} ] - East Site Setup" block: - name: "[ {{ test_identifier }} ] - Deploy backend service" ansible.builtin.shell: @@ -64,7 +64,7 @@ - name: "[ {{ test_identifier }} ] - Apply east site resources" skupper.v2.resource: path: "{{ playbook_dir }}/resources/east/" - platform: podman + platform: "{{ platform }}" namespace: "{{ namespace_name }}" when: "'east' in inventory_hostname" @@ -72,12 +72,12 @@ skupper.v2.resource: def: "{{ west.links['0.0.0.0'] }}" namespace: "{{ namespace_name }}" - platform: "podman" + platform: "{{ platform }}" - name: "[ {{ test_identifier }} ] - Start east namespace" skupper.v2.system: action: start - platform: podman + platform: "{{ platform }}" namespace: "{{ namespace_name }}" register: east when: "'east' in inventory_hostname" From f5fb12300943c19b5cd8f46a43115b8aedfb45ae Mon Sep 17 00:00:00 2001 From: Noe Luaces Date: Thu, 7 May 2026 17:17:50 +0200 Subject: [PATCH 06/10] add namespace prefix --- .../system-sites/inventory/group_vars/all.yml | 3 +-- tests/e2e/scenarios/system-sites/test.yml | 10 +++++----- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/tests/e2e/scenarios/system-sites/inventory/group_vars/all.yml b/tests/e2e/scenarios/system-sites/inventory/group_vars/all.yml index 5a48ee067..030b2545a 100644 --- a/tests/e2e/scenarios/system-sites/inventory/group_vars/all.yml +++ b/tests/e2e/scenarios/system-sites/inventory/group_vars/all.yml @@ -3,5 +3,4 @@ ansible_connection: local ansible_user: "{{ lookup('env', 'USER') }}" ansible_python_interpreter: /usr/bin/python3 debug: false -namespace_prefix: "e2e" -generate_namespaces_namespace_label: "hello-world-system-sites" +namespace_prefix: "e2e-system-sites" diff --git a/tests/e2e/scenarios/system-sites/test.yml b/tests/e2e/scenarios/system-sites/test.yml index f48956073..12360ad5e 100644 --- a/tests/e2e/scenarios/system-sites/test.yml +++ b/tests/e2e/scenarios/system-sites/test.yml @@ -39,14 +39,14 @@ skupper.v2.resource: path: "{{ playbook_dir }}/resources/west/" platform: "{{ platform }}" - namespace: "{{ namespace_name }}" + namespace: "{{ namespace_prefix }}-{{ namespace_name }}" when: "'west' in inventory_hostname" - name: "[ {{ test_identifier }} ] - Start west namespace" skupper.v2.system: action: start platform: "{{ platform }}" - namespace: "{{ namespace_name }}" + namespace: "{{ namespace_prefix }}-{{ namespace_name }}" register: west when: "'west' in inventory_hostname" @@ -65,20 +65,20 @@ skupper.v2.resource: path: "{{ playbook_dir }}/resources/east/" platform: "{{ platform }}" - namespace: "{{ namespace_name }}" + namespace: "{{ namespace_prefix }}-{{ namespace_name }}" when: "'east' in inventory_hostname" - name: "[ {{ test_identifier }} ] - Apply token to east site" skupper.v2.resource: def: "{{ west.links['0.0.0.0'] }}" - namespace: "{{ namespace_name }}" + namespace: "{{ namespace_prefix }}-{{ namespace_name }}" platform: "{{ platform }}" - name: "[ {{ test_identifier }} ] - Start east namespace" skupper.v2.system: action: start platform: "{{ platform }}" - namespace: "{{ namespace_name }}" + namespace: "{{ namespace_prefix }}-{{ namespace_name }}" register: east when: "'east' in inventory_hostname" From d8696932dce36367642c7efc388acfaac2ff7795 Mon Sep 17 00:00:00 2001 From: Noe Luaces Date: Thu, 7 May 2026 19:36:36 +0200 Subject: [PATCH 07/10] remove namespace prefix --- tests/e2e/scenarios/system-sites/test.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/e2e/scenarios/system-sites/test.yml b/tests/e2e/scenarios/system-sites/test.yml index 12360ad5e..f48956073 100644 --- a/tests/e2e/scenarios/system-sites/test.yml +++ b/tests/e2e/scenarios/system-sites/test.yml @@ -39,14 +39,14 @@ skupper.v2.resource: path: "{{ playbook_dir }}/resources/west/" platform: "{{ platform }}" - namespace: "{{ namespace_prefix }}-{{ namespace_name }}" + namespace: "{{ namespace_name }}" when: "'west' in inventory_hostname" - name: "[ {{ test_identifier }} ] - Start west namespace" skupper.v2.system: action: start platform: "{{ platform }}" - namespace: "{{ namespace_prefix }}-{{ namespace_name }}" + namespace: "{{ namespace_name }}" register: west when: "'west' in inventory_hostname" @@ -65,20 +65,20 @@ skupper.v2.resource: path: "{{ playbook_dir }}/resources/east/" platform: "{{ platform }}" - namespace: "{{ namespace_prefix }}-{{ namespace_name }}" + namespace: "{{ namespace_name }}" when: "'east' in inventory_hostname" - name: "[ {{ test_identifier }} ] - Apply token to east site" skupper.v2.resource: def: "{{ west.links['0.0.0.0'] }}" - namespace: "{{ namespace_prefix }}-{{ namespace_name }}" + namespace: "{{ namespace_name }}" platform: "{{ platform }}" - name: "[ {{ test_identifier }} ] - Start east namespace" skupper.v2.system: action: start platform: "{{ platform }}" - namespace: "{{ namespace_prefix }}-{{ namespace_name }}" + namespace: "{{ namespace_name }}" register: east when: "'east' in inventory_hostname" From 84d51a47e9a011c00a89ad8b49a6f410dbbf6948 Mon Sep 17 00:00:00 2001 From: Noe Luaces Date: Fri, 29 May 2026 21:59:24 +0200 Subject: [PATCH 08/10] add cli image version built during the CI. add the e2e step into the release build as well. --- .circleci/config.yml | 14 +++++++++++++- tests/e2e/scenarios/system-sites/cleanup-tasks.yml | 2 ++ .../system-sites/inventory/group_vars/all.yml | 1 + tests/e2e/scenarios/system-sites/test.yml | 7 +++---- 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ce522e0e0..3b0838fae 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -132,6 +132,12 @@ workflows: - build-oci-images: <<: *run_for_numeric_tags image_tag: << pipeline.git.tag >> + - e2e: + <<: *run_for_numeric_tags + image_tag: << pipeline.git.tag >> + requires: + - build-oci-images + - build-all - publish-oci-images: <<: *run_for_numeric_tags <<: *v2_release_requires @@ -195,6 +201,7 @@ workflows: <<: *run_for_all_branches - e2e: <<: *run_for_all_branches + image_tag: v2-dev requires: - build-oci-images - build-all @@ -268,6 +275,10 @@ jobs: destination: test-artifacts e2e: executor: local_cluster_test_executor + parameters: + image_tag: + type: string + default: "v2-dev" steps: - checkout - kubectl-install @@ -335,11 +346,12 @@ jobs: # the connector in east kubectl wait listener/backend \ --timeout=60s \ - '--for=jsonpath={.status.hasMatchingConnector}=true' + '--for=jsonpath={.status.hasMatchingConnector}=true' - run: name: Running E2E Tests command: | set -x + export SKUPPER_CLI_IMAGE="quay.io/skupper/cli:<< parameters.image_tag >>" cd tests cp ~/kc.west ~/.kube/config make ci-tests diff --git a/tests/e2e/scenarios/system-sites/cleanup-tasks.yml b/tests/e2e/scenarios/system-sites/cleanup-tasks.yml index b366bad16..868da88ce 100644 --- a/tests/e2e/scenarios/system-sites/cleanup-tasks.yml +++ b/tests/e2e/scenarios/system-sites/cleanup-tasks.yml @@ -20,6 +20,7 @@ action: stop namespace: "{{ namespace_name }}" platform: "{{ platform }}" + image: "{{ skupper_cli_image }}" failed_when: false when: not skip_teardown | default(false) | bool @@ -27,6 +28,7 @@ skupper.v2.controller: action: uninstall platform: "{{ platform }}" + image: "{{ skupper_cli_image }}" failed_when: false run_once: true when: not skip_teardown | default(false) | bool diff --git a/tests/e2e/scenarios/system-sites/inventory/group_vars/all.yml b/tests/e2e/scenarios/system-sites/inventory/group_vars/all.yml index 030b2545a..4a599be8b 100644 --- a/tests/e2e/scenarios/system-sites/inventory/group_vars/all.yml +++ b/tests/e2e/scenarios/system-sites/inventory/group_vars/all.yml @@ -4,3 +4,4 @@ ansible_user: "{{ lookup('env', 'USER') }}" ansible_python_interpreter: /usr/bin/python3 debug: false namespace_prefix: "e2e-system-sites" +skupper_cli_image: "{{ lookup('ansible.builtin.env', 'SKUPPER_CLI_IMAGE') | default('quay.io/skupper/cli:v2-dev', true) }}" diff --git a/tests/e2e/scenarios/system-sites/test.yml b/tests/e2e/scenarios/system-sites/test.yml index f48956073..6bcbb30ae 100644 --- a/tests/e2e/scenarios/system-sites/test.yml +++ b/tests/e2e/scenarios/system-sites/test.yml @@ -21,7 +21,7 @@ skupper.v2.controller: action: install platform: "{{ platform }}" - failed_when: false + image: "{{ skupper_cli_image }}" run_once: true delegate_to: localhost register: system_install @@ -33,20 +33,19 @@ ansible.builtin.shell: cmd: "{{ platform }} run --name frontend -d --rm -p 127.0.0.1:7070:8080 quay.io/skupper/hello-world-frontend --backend http://host.containers.internal:8080" changed_when: false - when: "'west' in inventory_hostname" - name: "[ {{ test_identifier }} ] - Apply west site resources" skupper.v2.resource: path: "{{ playbook_dir }}/resources/west/" platform: "{{ platform }}" namespace: "{{ namespace_name }}" - when: "'west' in inventory_hostname" - name: "[ {{ test_identifier }} ] - Start west namespace" skupper.v2.system: action: start platform: "{{ platform }}" namespace: "{{ namespace_name }}" + image: "{{ skupper_cli_image }}" register: west when: "'west' in inventory_hostname" @@ -66,7 +65,6 @@ path: "{{ playbook_dir }}/resources/east/" platform: "{{ platform }}" namespace: "{{ namespace_name }}" - when: "'east' in inventory_hostname" - name: "[ {{ test_identifier }} ] - Apply token to east site" skupper.v2.resource: @@ -79,6 +77,7 @@ action: start platform: "{{ platform }}" namespace: "{{ namespace_name }}" + image: "{{ skupper_cli_image }}" register: east when: "'east' in inventory_hostname" From 777c9d65ecc0b0632572fccccf1524b5c8f50729 Mon Sep 17 00:00:00 2001 From: Noe Luaces Date: Wed, 3 Jun 2026 21:34:34 +0200 Subject: [PATCH 09/10] add skupper system controller image as env variable --- .circleci/config.yml | 1 + tests/e2e/scenarios/system-sites/cleanup-tasks.yml | 2 +- tests/e2e/scenarios/system-sites/inventory/group_vars/all.yml | 1 + tests/e2e/scenarios/system-sites/test.yml | 2 +- 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3b0838fae..92ad077c1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -351,6 +351,7 @@ jobs: name: Running E2E Tests command: | set -x + export SKUPPER_SYSTEM_CONTROLLER_IMAGE="quay.io/skupper/cli:<< parameters.image_tag >>" export SKUPPER_CLI_IMAGE="quay.io/skupper/cli:<< parameters.image_tag >>" cd tests cp ~/kc.west ~/.kube/config diff --git a/tests/e2e/scenarios/system-sites/cleanup-tasks.yml b/tests/e2e/scenarios/system-sites/cleanup-tasks.yml index 868da88ce..b4a22d770 100644 --- a/tests/e2e/scenarios/system-sites/cleanup-tasks.yml +++ b/tests/e2e/scenarios/system-sites/cleanup-tasks.yml @@ -28,7 +28,7 @@ skupper.v2.controller: action: uninstall platform: "{{ platform }}" - image: "{{ skupper_cli_image }}" + image: "{{ skupper_system_controller_image }}" failed_when: false run_once: true when: not skip_teardown | default(false) | bool diff --git a/tests/e2e/scenarios/system-sites/inventory/group_vars/all.yml b/tests/e2e/scenarios/system-sites/inventory/group_vars/all.yml index 4a599be8b..a708e279e 100644 --- a/tests/e2e/scenarios/system-sites/inventory/group_vars/all.yml +++ b/tests/e2e/scenarios/system-sites/inventory/group_vars/all.yml @@ -5,3 +5,4 @@ ansible_python_interpreter: /usr/bin/python3 debug: false namespace_prefix: "e2e-system-sites" skupper_cli_image: "{{ lookup('ansible.builtin.env', 'SKUPPER_CLI_IMAGE') | default('quay.io/skupper/cli:v2-dev', true) }}" +skupper_system_controller_image: "{{ lookup('ansible.builtin.env', 'SKUPPER_SYSTEM_CONTROLLER_IMAGE') | default('quay.io/skupper/system-controller:v2-dev', true) }}" diff --git a/tests/e2e/scenarios/system-sites/test.yml b/tests/e2e/scenarios/system-sites/test.yml index 6bcbb30ae..6729aa1d2 100644 --- a/tests/e2e/scenarios/system-sites/test.yml +++ b/tests/e2e/scenarios/system-sites/test.yml @@ -21,7 +21,7 @@ skupper.v2.controller: action: install platform: "{{ platform }}" - image: "{{ skupper_cli_image }}" + image: "{{ skupper_system_controller_image }}" run_once: true delegate_to: localhost register: system_install From 767d588c21a800fc555a8890a09304c665a4b95f Mon Sep 17 00:00:00 2001 From: Noe Luaces Date: Tue, 9 Jun 2026 18:43:34 +0200 Subject: [PATCH 10/10] fix env variable --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 92ad077c1..10fa20c69 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -351,7 +351,7 @@ jobs: name: Running E2E Tests command: | set -x - export SKUPPER_SYSTEM_CONTROLLER_IMAGE="quay.io/skupper/cli:<< parameters.image_tag >>" + export SKUPPER_SYSTEM_CONTROLLER_IMAGE="quay.io/skupper/system-controller:<< parameters.image_tag >>" export SKUPPER_CLI_IMAGE="quay.io/skupper/cli:<< parameters.image_tag >>" cd tests cp ~/kc.west ~/.kube/config