Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Next release #175

Merged
merged 15 commits into from
May 2, 2024
21 changes: 19 additions & 2 deletions .github/workflows/integration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,26 @@ jobs:
test:
name: Integration tests
runs-on: self-hosted

strategy:
matrix:
flavors:
- name: sonic
- name: cumulus

steps:
- name: Gain back workspace permissions # https://github.com/actions/checkout/issues/211
run: |
[ -d "${GITHUB_WORKSPACE}" ] && sudo chown -R $USER:$USER ${GITHUB_WORKSPACE}

- name: Setup Containerlab
run: |
bash -c "$(curl -sL https://get.containerlab.dev)"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# we can remove desired version again after this fix was released: https://github.com/srl-labs/containerlab/pull/2000
DESIRED_VERSION: v0.52.0

- name: Checkout
uses: actions/checkout@v4

Expand All @@ -33,13 +48,15 @@ jobs:
make integration-deployment
make integration-ansible-modules
env:
MINI_LAB_FLAVOR: ${{ matrix.flavors.name }}
DOCKER_HUB_USER: ${{ secrets.DOCKER_HUB_USER }}
DOCKER_HUB_TOKEN: ${{ secrets.DOCKER_HUB_TOKEN }}

- name: Publish Unit Test Results
uses: EnricoMi/publish-unit-test-result-action@v2
with:
files: test/integration/**/output/*.xml
if: ${{ matrix.flavors.name == 'sonic' }}

- name: Slack Notification on Success
uses: rtCamp/action-slack-notify@v2
Expand All @@ -48,11 +65,11 @@ jobs:
env:
SLACK_COLOR: good
SLACK_TITLE: 'Integration Tests succeeded'
if: ${{ success() }}
if: ${{ matrix.flavors.name == 'sonic' && success() }}

- name: Slack Notification on Failure
uses: rtCamp/action-slack-notify@v2
env:
SLACK_COLOR: red
SLACK_TITLE: 'Integration Tests failed'
if: ${{ failure() }}
if: ${{ matrix.flavors.name == 'sonic' && failure() }}
12 changes: 6 additions & 6 deletions release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ ansible-roles:
version: v0.2.9
metal-roles:
repository: https://github.com/metal-stack/metal-roles
version: v0.11.12
version: v0.11.15
binaries:
metal-stack:
kernel:
repository: https://github.com/metal-stack/kernel
url: https://github.com/metal-stack/kernel/releases/download/6.6.26-140/metal-kernel
version: 6.6.26-140
url: https://github.com/metal-stack/kernel/releases/download/6.6.28-141/metal-kernel
version: 6.6.28-141
metal-hammer:
repository: https://github.com/metal-stack/metal-hammer
url: https://github.com/metal-stack/metal-hammer/releases/download/v0.12.3/metal-hammer-initrd.img.lz4
Expand Down Expand Up @@ -58,15 +58,15 @@ docker-images:
firewall-controller-manager:
name: ghcr.io/metal-stack/firewall-controller-manager
repository: https://github.com/metal-stack/firewall-controller-manager
tag: v0.3.4
tag: v0.3.5
gardener-extension-audit:
name: ghcr.io/metal-stack/gardener-extension-audit
repository: https://github.com/metal-stack/gardener-extension-audit
tag: v0.1.6
gardener-extension-provider-metal:
name: ghcr.io/metal-stack/gardener-extension-provider-metal
repository: https://github.com/metal-stack/gardener-extension-provider-metal
tag: v0.22.9
tag: v0.22.10
machine-controller-manager:
name: eu.gcr.io/gardener-project/gardener/machine-controller-manager
repository: https://github.com/gardener/machine-controller-manager
Expand Down Expand Up @@ -271,7 +271,7 @@ projects:
metal-stack:
mini-lab:
repository: https://github.com/metal-stack/mini-lab
version: v0.3.6
version: v0.4.0
repositories:
third-party:
gardener:
Expand Down
1 change: 0 additions & 1 deletion test/integration/ci-prep.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ cd "${MINI_LAB_PATH}"
git checkout "${MINI_LAB_VERSION}"

# self hosted runners get dirty, we need to clean up first
make cleanup
./test/ci-cleanup.sh

cd -
1 change: 0 additions & 1 deletion test/integration/deployment/test/common.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import time
import unittest


Expand Down
14 changes: 10 additions & 4 deletions test/integration/deployment/test/deployment_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,18 +76,24 @@ class MetalSwitchPlaneDeployment(common.TestinfraCommon):
def __init__(self, *args, **kwargs):
super(MetalSwitchPlaneDeployment, self).__init__(*args, **kwargs)
self.hosts = testinfra.get_hosts(["ssh://leaf01", "ssh://leaf02"])
self.is_sonic = self.hosts[0].file("/etc/sonic/sonic_version.yml").exists

def test_metal_core_service(self):
for host in self.hosts:
self.service_enabled_and_running(host, "metal-core")

def test_pixiecore_service(self):
for host in self.hosts:
self.service_enabled_and_running(self.hosts[0], "pixiecore")
self.service_enabled_and_running(self.hosts[0], "pixiecore")

def test_frr_service(self):
for host in self.hosts:
self.service_enabled_and_running(host, "frr")
if self.is_sonic:
self.service_enabled_and_running(host, "bgp")
else:
self.service_enabled_and_running(host, "frr")

def test_dhcpd_service(self):
self.service_enabled_and_running(self.hosts[0], "dhcpd")
if self.is_sonic:
self.service_enabled_and_running(self.hosts[0], "isc-dhcp-server")
else:
self.service_enabled_and_running(self.hosts[0], "dhcpd")