diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 5b43dfcf9a..bc375bc963 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,6 +1,6 @@ # THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. # -# Generated on 2024-11-08T11:46:41Z by kres 1fc767a. +# Generated on 2024-11-28T14:18:12Z by kres 232fe63. name: default concurrency: @@ -117,7 +117,7 @@ jobs: run: | make unit-tests-race - name: coverage - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v5 with: files: _out/coverage.txt token: ${{ secrets.CODECOV_TOKEN }} @@ -215,10 +215,8 @@ jobs: with: name: talos-logs-e2e-docker-short path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" e2e-iso: permissions: @@ -286,10 +284,8 @@ jobs: with: name: talos-logs-e2e-iso path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" e2e-qemu-short: permissions: @@ -348,6 +344,7 @@ jobs: make ci-temp-release-tag - name: e2e-qemu env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-qemu-short IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" run: | @@ -358,10 +355,8 @@ jobs: with: name: talos-logs-e2e-qemu-short path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" integration-aws: permissions: @@ -1017,6 +1012,7 @@ jobs: make talosctl-cni-bundle - name: e2e-cilium env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-cilium IMAGE_REGISTRY: registry.dev.siderolabs.io QEMU_WORKERS: "2" SHORT_INTEGRATION_TEST: "yes" @@ -1029,6 +1025,7 @@ jobs: - name: e2e-cilium-strict env: CILIUM_INSTALL_TYPE: strict + GITHUB_STEP_NAME: ${{ github.job}}-e2e-cilium-strict IMAGE_REGISTRY: registry.dev.siderolabs.io QEMU_WORKERS: "2" SHORT_INTEGRATION_TEST: "yes" @@ -1041,6 +1038,7 @@ jobs: - name: e2e-cilium-strict-kubespan env: CILIUM_INSTALL_TYPE: strict + GITHUB_STEP_NAME: ${{ github.job}}-e2e-cilium-strict-kubespan IMAGE_REGISTRY: registry.dev.siderolabs.io QEMU_WORKERS: "2" SHORT_INTEGRATION_TEST: "yes" @@ -1057,10 +1055,8 @@ jobs: with: name: talos-logs-integration-cilium path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" integration-cloud-images: permissions: @@ -1229,6 +1225,7 @@ jobs: make talosctl-cni-bundle - name: conformance-qemu env: + GITHUB_STEP_NAME: ${{ github.job}}-conformance-qemu IMAGE_REGISTRY: registry.dev.siderolabs.io QEMU_CPUS: "4" QEMU_WORKERS: "2" @@ -1241,10 +1238,8 @@ jobs: with: name: talos-logs-integration-qemu path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" integration-equinix-metal: permissions: @@ -1470,6 +1465,7 @@ jobs: - name: e2e-extensions env: EXTRA_TEST_ARGS: -talos.extensions.qemu + GITHUB_STEP_NAME: ${{ github.job}}-e2e-extensions IMAGE_REGISTRY: registry.dev.siderolabs.io QEMU_EXTRA_DISKS: "3" QEMU_MEMORY_WORKERS: "4096" @@ -1483,10 +1479,8 @@ jobs: with: name: talos-logs-integration-extensions path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" integration-gcp: permissions: @@ -1721,6 +1715,7 @@ jobs: FACTORY_UPGRADE_SCHEMATIC: cf9b7aab9ed7c365d5384509b4d31c02fdaa06d2b3ac6cc0bc806f28130eff1f FACTORY_UPGRADE_VERSION: v1.7.6 FACTORY_VERSION: v1.7.5 + GITHUB_STEP_NAME: ${{ github.job}}-factory-1.7-iso KUBERNETES_VERSION: 1.30.1 run: | sudo -E make e2e-image-factory @@ -1732,6 +1727,7 @@ jobs: FACTORY_UPGRADE_SCHEMATIC: cf9b7aab9ed7c365d5384509b4d31c02fdaa06d2b3ac6cc0bc806f28130eff1f FACTORY_UPGRADE_VERSION: v1.7.6 FACTORY_VERSION: v1.7.5 + GITHUB_STEP_NAME: ${{ github.job}}-factory-1.7-image KUBERNETES_VERSION: 1.30.1 run: | sudo -E make e2e-image-factory @@ -1740,6 +1736,7 @@ jobs: FACTORY_BOOT_METHOD: pxe FACTORY_SCHEMATIC: 376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba FACTORY_VERSION: v1.7.6 + GITHUB_STEP_NAME: ${{ github.job}}-factory-1.7-pxe KUBERNETES_VERSION: 1.30.1 run: | sudo -E make e2e-image-factory @@ -1751,6 +1748,7 @@ jobs: FACTORY_UPGRADE_SCHEMATIC: 376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba FACTORY_UPGRADE_VERSION: v1.7.6 FACTORY_VERSION: v1.7.5 + GITHUB_STEP_NAME: ${{ github.job}}-factory-1.7-secureboot KUBERNETES_VERSION: 1.30.1 run: | sudo -E make e2e-image-factory @@ -1762,6 +1760,7 @@ jobs: FACTORY_UPGRADE_SCHEMATIC: 376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba FACTORY_UPGRADE_VERSION: v1.6.1 FACTORY_VERSION: v1.6.0 + GITHUB_STEP_NAME: ${{ github.job}}-factory-1.6-secureboot KUBERNETES_VERSION: 1.29.0 run: | sudo -E make e2e-image-factory @@ -1773,6 +1772,7 @@ jobs: FACTORY_UPGRADE_SCHEMATIC: cf9b7aab9ed7c365d5384509b4d31c02fdaa06d2b3ac6cc0bc806f28130eff1f FACTORY_UPGRADE_VERSION: v1.6.1 FACTORY_VERSION: v1.6.0 + GITHUB_STEP_NAME: ${{ github.job}}-factory-1.6-iso KUBERNETES_VERSION: 1.29.0 run: | sudo -E make e2e-image-factory @@ -1784,6 +1784,7 @@ jobs: FACTORY_UPGRADE_SCHEMATIC: cf9b7aab9ed7c365d5384509b4d31c02fdaa06d2b3ac6cc0bc806f28130eff1f FACTORY_UPGRADE_VERSION: v1.5.5 FACTORY_VERSION: v1.5.5 + GITHUB_STEP_NAME: ${{ github.job}}-factory-1.5-iso KUBERNETES_VERSION: 1.28.5 run: | sudo -E make e2e-image-factory @@ -1793,10 +1794,8 @@ jobs: with: name: talos-logs-integration-image-factory path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" integration-images: permissions: @@ -1960,6 +1959,7 @@ jobs: make talosctl-cni-bundle - name: e2e-firewall env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-firewall IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" WITH_FIREWALL: block @@ -1968,12 +1968,14 @@ jobs: - name: e2e-canal-reset env: CUSTOM_CNI_URL: https://raw.githubusercontent.com/projectcalico/calico/v3.25.0/manifests/canal.yaml + GITHUB_STEP_NAME: ${{ github.job}}-e2e-canal-reset IMAGE_REGISTRY: registry.dev.siderolabs.io INTEGRATION_TEST_RUN: TestIntegration/api.ResetSuite/TestResetWithSpec run: | sudo -E make e2e-qemu - name: e2e-controlplane-port env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-controlplane-port IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" WITH_CONTROL_PLANE_PORT: "443" @@ -1985,10 +1987,8 @@ jobs: with: name: talos-logs-integration-misc-0 path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" integration-misc-1: permissions: @@ -2069,6 +2069,7 @@ jobs: make talosctl-cni-bundle - name: e2e-no-cluster-discovery env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-no-cluster-discovery IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" WITH_CLUSTER_DISCOVERY: "false" @@ -2076,6 +2077,7 @@ jobs: sudo -E make e2e-qemu - name: e2e-kubespan env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-kubespan IMAGE_REGISTRY: registry.dev.siderolabs.io\ SHORT_INTEGRATION_TEST: "yes" WITH_CLUSTER_DISCOVERY: "true" @@ -2085,6 +2087,7 @@ jobs: - name: e2e-default-hostname env: DISABLE_DHCP_HOSTNAME: "true" + GITHUB_STEP_NAME: ${{ github.job}}-e2e-default-hostname IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" VIA_MAINTENANCE_MODE: "true" @@ -2096,10 +2099,8 @@ jobs: with: name: talos-logs-integration-misc-1 path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" integration-misc-2: permissions: @@ -2193,6 +2194,7 @@ jobs: make images-essential - name: e2e-bios-cgroupsv1 env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-bios-cgroupsv1 IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" WITH_CONFIG_PATCH: '@hack/test/patches/cgroupsv1.yaml' @@ -2201,6 +2203,7 @@ jobs: sudo -E make e2e-qemu - name: e2e-disk-image env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-disk-image IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" USE_DISK_IMAGE: "true" @@ -2214,10 +2217,8 @@ jobs: with: name: talos-logs-integration-misc-2 path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" integration-misc-3: permissions: @@ -2298,6 +2299,7 @@ jobs: make talosctl-cni-bundle - name: e2e-network-chaos env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-network-chaos IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" WITH_NETWORK_CHAOS: "yes" @@ -2305,6 +2307,7 @@ jobs: sudo -E make e2e-qemu - name: e2e-metal-iso env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-metal-iso IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" WITH_CONFIG_INJECTION_METHOD: metal-iso @@ -2316,10 +2319,8 @@ jobs: with: name: talos-logs-integration-misc-3 path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" integration-misc-4: permissions: @@ -2400,6 +2401,7 @@ jobs: make talosctl-cni-bundle - name: e2e-siderolink env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-siderolink IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" VIA_MAINTENANCE_MODE: "true" @@ -2408,6 +2410,7 @@ jobs: sudo -E make e2e-qemu - name: e2e-siderolink-tunnel env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-siderolink-tunnel IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" VIA_MAINTENANCE_MODE: "true" @@ -2416,6 +2419,7 @@ jobs: sudo -E make e2e-qemu - name: e2e-siderolink-tls env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-siderolink-tls IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" VIA_MAINTENANCE_MODE: "true" @@ -2424,6 +2428,7 @@ jobs: sudo -E make e2e-qemu - name: e2e-apparmor env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-apparmor IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" WITH_APPARMOR_LSM_ENABLED: "yes" @@ -2431,6 +2436,7 @@ jobs: sudo -E make e2e-qemu - name: e2e-k8s-user-namespace env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-k8s-user-namespace IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" WITH_CONFIG_PATCH: '@hack/test/patches/usernamespace.yaml' @@ -2442,10 +2448,8 @@ jobs: with: name: talos-logs-integration-misc-4 path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" integration-provision-0: permissions: @@ -2539,10 +2543,8 @@ jobs: with: name: talos-logs-integration-provision-0 path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" integration-provision-1: permissions: @@ -2636,10 +2638,8 @@ jobs: with: name: talos-logs-integration-provision-1 path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" integration-provision-2: permissions: @@ -2733,10 +2733,8 @@ jobs: with: name: talos-logs-integration-provision-2 path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" integration-qemu: permissions: @@ -2831,10 +2829,8 @@ jobs: with: name: talos-logs-integration-qemu path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" integration-qemu-csi-longhorn: permissions: @@ -2942,6 +2938,7 @@ jobs: - name: e2e-qemu-csi-longhorn env: EXTRA_TEST_ARGS: -talos.csi=longhorn + GITHUB_STEP_NAME: ${{ github.job}}-e2e-qemu-csi-longhorn IMAGE_REGISTRY: registry.dev.siderolabs.io QEMU_WORKERS: "3" SHORT_INTEGRATION_TEST: "yes" @@ -2954,10 +2951,8 @@ jobs: with: name: talos-logs-integration-qemu-csi-longhorn path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" integration-qemu-csi-rook-ceph: permissions: @@ -3039,6 +3034,7 @@ jobs: - name: e2e-qemu-csi-rook-ceph env: EXTRA_TEST_ARGS: -talos.csi=rook-ceph + GITHUB_STEP_NAME: ${{ github.job}}-e2e-qemu-csi-rook-ceph IMAGE_REGISTRY: registry.dev.siderolabs.io QEMU_CPUS_WORKERS: "6" QEMU_EXTRA_DISKS: "1" @@ -3055,10 +3051,8 @@ jobs: with: name: talos-logs-integration-qemu-csi-rook-ceph path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" integration-qemu-encrypted-vip: permissions: @@ -3155,10 +3149,8 @@ jobs: with: name: talos-logs-integration-qemu-encrypted-vip path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" integration-qemu-race: permissions: @@ -3248,6 +3240,7 @@ jobs: make initramfs installer - name: e2e-qemu-race env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-qemu-race IMAGE_REGISTRY: registry.dev.siderolabs.io QEMU_EXTRA_DISKS: "3" QEMU_EXTRA_DISKS_DRIVERS: ide,nvme @@ -3262,10 +3255,8 @@ jobs: with: name: talos-logs-integration-qemu-race path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" integration-reproducibility-test: permissions: @@ -3439,6 +3430,7 @@ jobs: - name: integration-trusted-boot env: EXTRA_TEST_ARGS: -talos.trustedboot + GITHUB_STEP_NAME: ${{ github.job}}-integration-trusted-boot IMAGE_REGISTRY: registry.dev.siderolabs.io VIA_MAINTENANCE_MODE: "true" WITH_TRUSTED_BOOT_ISO: "true" @@ -3450,10 +3442,8 @@ jobs: with: name: talos-logs-integration-trusted-boot path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" push: permissions: diff --git a/.github/workflows/integration-cilium-cron.yaml b/.github/workflows/integration-cilium-cron.yaml index fe8968c3ec..2d286705b1 100644 --- a/.github/workflows/integration-cilium-cron.yaml +++ b/.github/workflows/integration-cilium-cron.yaml @@ -1,6 +1,6 @@ # THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. # -# Generated on 2024-11-08T11:46:41Z by kres 1fc767a. +# Generated on 2024-11-28T13:53:18Z by kres 232fe63. name: integration-cilium-cron concurrency: @@ -80,6 +80,7 @@ jobs: make talosctl-cni-bundle - name: e2e-cilium env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-cilium IMAGE_REGISTRY: registry.dev.siderolabs.io QEMU_WORKERS: "2" SHORT_INTEGRATION_TEST: "yes" @@ -92,6 +93,7 @@ jobs: - name: e2e-cilium-strict env: CILIUM_INSTALL_TYPE: strict + GITHUB_STEP_NAME: ${{ github.job}}-e2e-cilium-strict IMAGE_REGISTRY: registry.dev.siderolabs.io QEMU_WORKERS: "2" SHORT_INTEGRATION_TEST: "yes" @@ -104,6 +106,7 @@ jobs: - name: e2e-cilium-strict-kubespan env: CILIUM_INSTALL_TYPE: strict + GITHUB_STEP_NAME: ${{ github.job}}-e2e-cilium-strict-kubespan IMAGE_REGISTRY: registry.dev.siderolabs.io QEMU_WORKERS: "2" SHORT_INTEGRATION_TEST: "yes" @@ -120,8 +123,6 @@ jobs: with: name: talos-logs-integration-cilium path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" diff --git a/.github/workflows/integration-conformance-cron.yaml b/.github/workflows/integration-conformance-cron.yaml index 7e28337980..9a9d4a4b6f 100644 --- a/.github/workflows/integration-conformance-cron.yaml +++ b/.github/workflows/integration-conformance-cron.yaml @@ -1,6 +1,6 @@ # THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. # -# Generated on 2024-11-08T11:46:41Z by kres 1fc767a. +# Generated on 2024-11-28T13:48:17Z by kres 232fe63. name: integration-conformance-cron concurrency: @@ -80,6 +80,7 @@ jobs: make talosctl-cni-bundle - name: conformance-qemu env: + GITHUB_STEP_NAME: ${{ github.job}}-conformance-qemu IMAGE_REGISTRY: registry.dev.siderolabs.io QEMU_CPUS: "4" QEMU_WORKERS: "2" @@ -92,8 +93,6 @@ jobs: with: name: talos-logs-integration-qemu path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" diff --git a/.github/workflows/integration-extensions-cron.yaml b/.github/workflows/integration-extensions-cron.yaml index fbd158c0d7..43f3529b2e 100644 --- a/.github/workflows/integration-extensions-cron.yaml +++ b/.github/workflows/integration-extensions-cron.yaml @@ -1,6 +1,6 @@ # THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. # -# Generated on 2024-11-08T11:46:41Z by kres 1fc767a. +# Generated on 2024-11-28T13:53:18Z by kres 232fe63. name: integration-extensions-cron concurrency: @@ -109,6 +109,7 @@ jobs: - name: e2e-extensions env: EXTRA_TEST_ARGS: -talos.extensions.qemu + GITHUB_STEP_NAME: ${{ github.job}}-e2e-extensions IMAGE_REGISTRY: registry.dev.siderolabs.io QEMU_EXTRA_DISKS: "3" QEMU_MEMORY_WORKERS: "4096" @@ -122,8 +123,6 @@ jobs: with: name: talos-logs-integration-extensions path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" diff --git a/.github/workflows/integration-image-factory-cron.yaml b/.github/workflows/integration-image-factory-cron.yaml index 561abf8d02..8bf1fdde5e 100644 --- a/.github/workflows/integration-image-factory-cron.yaml +++ b/.github/workflows/integration-image-factory-cron.yaml @@ -1,6 +1,6 @@ # THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. # -# Generated on 2024-11-08T11:46:41Z by kres 1fc767a. +# Generated on 2024-11-28T13:53:18Z by kres 232fe63. name: integration-image-factory-cron concurrency: @@ -107,6 +107,7 @@ jobs: FACTORY_UPGRADE_SCHEMATIC: cf9b7aab9ed7c365d5384509b4d31c02fdaa06d2b3ac6cc0bc806f28130eff1f FACTORY_UPGRADE_VERSION: v1.7.6 FACTORY_VERSION: v1.7.5 + GITHUB_STEP_NAME: ${{ github.job}}-factory-1.7-iso KUBERNETES_VERSION: 1.30.1 run: | sudo -E make e2e-image-factory @@ -118,6 +119,7 @@ jobs: FACTORY_UPGRADE_SCHEMATIC: cf9b7aab9ed7c365d5384509b4d31c02fdaa06d2b3ac6cc0bc806f28130eff1f FACTORY_UPGRADE_VERSION: v1.7.6 FACTORY_VERSION: v1.7.5 + GITHUB_STEP_NAME: ${{ github.job}}-factory-1.7-image KUBERNETES_VERSION: 1.30.1 run: | sudo -E make e2e-image-factory @@ -126,6 +128,7 @@ jobs: FACTORY_BOOT_METHOD: pxe FACTORY_SCHEMATIC: 376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba FACTORY_VERSION: v1.7.6 + GITHUB_STEP_NAME: ${{ github.job}}-factory-1.7-pxe KUBERNETES_VERSION: 1.30.1 run: | sudo -E make e2e-image-factory @@ -137,6 +140,7 @@ jobs: FACTORY_UPGRADE_SCHEMATIC: 376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba FACTORY_UPGRADE_VERSION: v1.7.6 FACTORY_VERSION: v1.7.5 + GITHUB_STEP_NAME: ${{ github.job}}-factory-1.7-secureboot KUBERNETES_VERSION: 1.30.1 run: | sudo -E make e2e-image-factory @@ -148,6 +152,7 @@ jobs: FACTORY_UPGRADE_SCHEMATIC: 376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba FACTORY_UPGRADE_VERSION: v1.6.1 FACTORY_VERSION: v1.6.0 + GITHUB_STEP_NAME: ${{ github.job}}-factory-1.6-secureboot KUBERNETES_VERSION: 1.29.0 run: | sudo -E make e2e-image-factory @@ -159,6 +164,7 @@ jobs: FACTORY_UPGRADE_SCHEMATIC: cf9b7aab9ed7c365d5384509b4d31c02fdaa06d2b3ac6cc0bc806f28130eff1f FACTORY_UPGRADE_VERSION: v1.6.1 FACTORY_VERSION: v1.6.0 + GITHUB_STEP_NAME: ${{ github.job}}-factory-1.6-iso KUBERNETES_VERSION: 1.29.0 run: | sudo -E make e2e-image-factory @@ -170,6 +176,7 @@ jobs: FACTORY_UPGRADE_SCHEMATIC: cf9b7aab9ed7c365d5384509b4d31c02fdaa06d2b3ac6cc0bc806f28130eff1f FACTORY_UPGRADE_VERSION: v1.5.5 FACTORY_VERSION: v1.5.5 + GITHUB_STEP_NAME: ${{ github.job}}-factory-1.5-iso KUBERNETES_VERSION: 1.28.5 run: | sudo -E make e2e-image-factory @@ -179,8 +186,6 @@ jobs: with: name: talos-logs-integration-image-factory path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" diff --git a/.github/workflows/integration-misc-0-cron.yaml b/.github/workflows/integration-misc-0-cron.yaml index 26f03ec1ae..50cf02c984 100644 --- a/.github/workflows/integration-misc-0-cron.yaml +++ b/.github/workflows/integration-misc-0-cron.yaml @@ -1,6 +1,6 @@ # THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. # -# Generated on 2024-11-08T11:46:41Z by kres 1fc767a. +# Generated on 2024-11-28T13:53:18Z by kres 232fe63. name: integration-misc-0-cron concurrency: @@ -80,6 +80,7 @@ jobs: make talosctl-cni-bundle - name: e2e-firewall env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-firewall IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" WITH_FIREWALL: block @@ -88,12 +89,14 @@ jobs: - name: e2e-canal-reset env: CUSTOM_CNI_URL: https://raw.githubusercontent.com/projectcalico/calico/v3.25.0/manifests/canal.yaml + GITHUB_STEP_NAME: ${{ github.job}}-e2e-canal-reset IMAGE_REGISTRY: registry.dev.siderolabs.io INTEGRATION_TEST_RUN: TestIntegration/api.ResetSuite/TestResetWithSpec run: | sudo -E make e2e-qemu - name: e2e-controlplane-port env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-controlplane-port IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" WITH_CONTROL_PLANE_PORT: "443" @@ -105,8 +108,6 @@ jobs: with: name: talos-logs-integration-misc-0 path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" diff --git a/.github/workflows/integration-misc-1-cron.yaml b/.github/workflows/integration-misc-1-cron.yaml index be732a79e2..d77789ef16 100644 --- a/.github/workflows/integration-misc-1-cron.yaml +++ b/.github/workflows/integration-misc-1-cron.yaml @@ -1,6 +1,6 @@ # THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. # -# Generated on 2024-11-08T11:46:41Z by kres 1fc767a. +# Generated on 2024-11-28T13:53:18Z by kres 232fe63. name: integration-misc-1-cron concurrency: @@ -80,6 +80,7 @@ jobs: make talosctl-cni-bundle - name: e2e-no-cluster-discovery env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-no-cluster-discovery IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" WITH_CLUSTER_DISCOVERY: "false" @@ -87,6 +88,7 @@ jobs: sudo -E make e2e-qemu - name: e2e-kubespan env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-kubespan IMAGE_REGISTRY: registry.dev.siderolabs.io\ SHORT_INTEGRATION_TEST: "yes" WITH_CLUSTER_DISCOVERY: "true" @@ -96,6 +98,7 @@ jobs: - name: e2e-default-hostname env: DISABLE_DHCP_HOSTNAME: "true" + GITHUB_STEP_NAME: ${{ github.job}}-e2e-default-hostname IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" VIA_MAINTENANCE_MODE: "true" @@ -107,8 +110,6 @@ jobs: with: name: talos-logs-integration-misc-1 path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" diff --git a/.github/workflows/integration-misc-2-cron.yaml b/.github/workflows/integration-misc-2-cron.yaml index 0f125ce00a..47711487c8 100644 --- a/.github/workflows/integration-misc-2-cron.yaml +++ b/.github/workflows/integration-misc-2-cron.yaml @@ -1,6 +1,6 @@ # THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. # -# Generated on 2024-11-08T11:46:41Z by kres 1fc767a. +# Generated on 2024-11-28T13:53:18Z by kres 232fe63. name: integration-misc-2-cron concurrency: @@ -93,6 +93,7 @@ jobs: make images-essential - name: e2e-bios-cgroupsv1 env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-bios-cgroupsv1 IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" WITH_CONFIG_PATCH: '@hack/test/patches/cgroupsv1.yaml' @@ -101,6 +102,7 @@ jobs: sudo -E make e2e-qemu - name: e2e-disk-image env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-disk-image IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" USE_DISK_IMAGE: "true" @@ -114,8 +116,6 @@ jobs: with: name: talos-logs-integration-misc-2 path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" diff --git a/.github/workflows/integration-misc-3-cron.yaml b/.github/workflows/integration-misc-3-cron.yaml index b5792444cf..46eac9438b 100644 --- a/.github/workflows/integration-misc-3-cron.yaml +++ b/.github/workflows/integration-misc-3-cron.yaml @@ -1,6 +1,6 @@ # THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. # -# Generated on 2024-11-08T11:46:41Z by kres 1fc767a. +# Generated on 2024-11-28T13:53:18Z by kres 232fe63. name: integration-misc-3-cron concurrency: @@ -80,6 +80,7 @@ jobs: make talosctl-cni-bundle - name: e2e-network-chaos env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-network-chaos IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" WITH_NETWORK_CHAOS: "yes" @@ -87,6 +88,7 @@ jobs: sudo -E make e2e-qemu - name: e2e-metal-iso env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-metal-iso IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" WITH_CONFIG_INJECTION_METHOD: metal-iso @@ -98,8 +100,6 @@ jobs: with: name: talos-logs-integration-misc-3 path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" diff --git a/.github/workflows/integration-misc-4-cron.yaml b/.github/workflows/integration-misc-4-cron.yaml index 3157788459..651ae7417d 100644 --- a/.github/workflows/integration-misc-4-cron.yaml +++ b/.github/workflows/integration-misc-4-cron.yaml @@ -1,6 +1,6 @@ # THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. # -# Generated on 2024-11-08T11:46:41Z by kres 1fc767a. +# Generated on 2024-11-28T13:53:18Z by kres 232fe63. name: integration-misc-4-cron concurrency: @@ -80,6 +80,7 @@ jobs: make talosctl-cni-bundle - name: e2e-siderolink env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-siderolink IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" VIA_MAINTENANCE_MODE: "true" @@ -88,6 +89,7 @@ jobs: sudo -E make e2e-qemu - name: e2e-siderolink-tunnel env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-siderolink-tunnel IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" VIA_MAINTENANCE_MODE: "true" @@ -96,6 +98,7 @@ jobs: sudo -E make e2e-qemu - name: e2e-siderolink-tls env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-siderolink-tls IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" VIA_MAINTENANCE_MODE: "true" @@ -104,6 +107,7 @@ jobs: sudo -E make e2e-qemu - name: e2e-apparmor env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-apparmor IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" WITH_APPARMOR_LSM_ENABLED: "yes" @@ -111,6 +115,7 @@ jobs: sudo -E make e2e-qemu - name: e2e-k8s-user-namespace env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-k8s-user-namespace IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" WITH_CONFIG_PATCH: '@hack/test/patches/usernamespace.yaml' @@ -122,8 +127,6 @@ jobs: with: name: talos-logs-integration-misc-4 path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" diff --git a/.github/workflows/integration-provision-0-cron.yaml b/.github/workflows/integration-provision-0-cron.yaml index 6ab17abfc8..2b8f1557ab 100644 --- a/.github/workflows/integration-provision-0-cron.yaml +++ b/.github/workflows/integration-provision-0-cron.yaml @@ -1,6 +1,6 @@ # THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. # -# Generated on 2024-11-08T11:46:41Z by kres 1fc767a. +# Generated on 2024-11-28T12:57:52Z by kres 232fe63. name: integration-provision-0-cron concurrency: @@ -93,8 +93,6 @@ jobs: with: name: talos-logs-integration-provision-0 path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" diff --git a/.github/workflows/integration-provision-1-cron.yaml b/.github/workflows/integration-provision-1-cron.yaml index c474e6f40b..d19ee0085a 100644 --- a/.github/workflows/integration-provision-1-cron.yaml +++ b/.github/workflows/integration-provision-1-cron.yaml @@ -1,6 +1,6 @@ # THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. # -# Generated on 2024-11-08T11:46:41Z by kres 1fc767a. +# Generated on 2024-11-28T12:57:52Z by kres 232fe63. name: integration-provision-1-cron concurrency: @@ -93,8 +93,6 @@ jobs: with: name: talos-logs-integration-provision-1 path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" diff --git a/.github/workflows/integration-provision-2-cron.yaml b/.github/workflows/integration-provision-2-cron.yaml index 663ac736bd..24522b85a4 100644 --- a/.github/workflows/integration-provision-2-cron.yaml +++ b/.github/workflows/integration-provision-2-cron.yaml @@ -1,6 +1,6 @@ # THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. # -# Generated on 2024-11-08T11:46:41Z by kres 1fc767a. +# Generated on 2024-11-28T12:57:52Z by kres 232fe63. name: integration-provision-2-cron concurrency: @@ -93,8 +93,6 @@ jobs: with: name: talos-logs-integration-provision-2 path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" diff --git a/.github/workflows/integration-qemu-cron.yaml b/.github/workflows/integration-qemu-cron.yaml index 8930d8af36..e81da5ead3 100644 --- a/.github/workflows/integration-qemu-cron.yaml +++ b/.github/workflows/integration-qemu-cron.yaml @@ -1,6 +1,6 @@ # THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. # -# Generated on 2024-11-08T11:46:41Z by kres 1fc767a. +# Generated on 2024-11-28T12:57:52Z by kres 232fe63. name: integration-qemu-cron concurrency: @@ -94,8 +94,6 @@ jobs: with: name: talos-logs-integration-qemu path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" diff --git a/.github/workflows/integration-qemu-csi-longhorn-cron.yaml b/.github/workflows/integration-qemu-csi-longhorn-cron.yaml index 2a846eafd8..7c81a0fdc7 100644 --- a/.github/workflows/integration-qemu-csi-longhorn-cron.yaml +++ b/.github/workflows/integration-qemu-csi-longhorn-cron.yaml @@ -1,6 +1,6 @@ # THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. # -# Generated on 2024-11-08T11:46:41Z by kres 1fc767a. +# Generated on 2024-11-28T13:53:18Z by kres 232fe63. name: integration-qemu-csi-longhorn-cron concurrency: @@ -107,6 +107,7 @@ jobs: - name: e2e-qemu-csi-longhorn env: EXTRA_TEST_ARGS: -talos.csi=longhorn + GITHUB_STEP_NAME: ${{ github.job}}-e2e-qemu-csi-longhorn IMAGE_REGISTRY: registry.dev.siderolabs.io QEMU_WORKERS: "3" SHORT_INTEGRATION_TEST: "yes" @@ -119,8 +120,6 @@ jobs: with: name: talos-logs-integration-qemu-csi-longhorn path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" diff --git a/.github/workflows/integration-qemu-csi-rook-ceph-cron.yaml b/.github/workflows/integration-qemu-csi-rook-ceph-cron.yaml index 249f4ec5cf..547d259895 100644 --- a/.github/workflows/integration-qemu-csi-rook-ceph-cron.yaml +++ b/.github/workflows/integration-qemu-csi-rook-ceph-cron.yaml @@ -1,6 +1,6 @@ # THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. # -# Generated on 2024-11-08T11:46:41Z by kres 1fc767a. +# Generated on 2024-11-28T13:53:18Z by kres 232fe63. name: integration-qemu-csi-rook-ceph-cron concurrency: @@ -81,6 +81,7 @@ jobs: - name: e2e-qemu-csi-rook-ceph env: EXTRA_TEST_ARGS: -talos.csi=rook-ceph + GITHUB_STEP_NAME: ${{ github.job}}-e2e-qemu-csi-rook-ceph IMAGE_REGISTRY: registry.dev.siderolabs.io QEMU_CPUS_WORKERS: "6" QEMU_EXTRA_DISKS: "1" @@ -97,8 +98,6 @@ jobs: with: name: talos-logs-integration-qemu-csi-rook-ceph path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" diff --git a/.github/workflows/integration-qemu-encrypted-vip-cron.yaml b/.github/workflows/integration-qemu-encrypted-vip-cron.yaml index c4ac9e2ea1..39a76a0ecb 100644 --- a/.github/workflows/integration-qemu-encrypted-vip-cron.yaml +++ b/.github/workflows/integration-qemu-encrypted-vip-cron.yaml @@ -1,6 +1,6 @@ # THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. # -# Generated on 2024-11-08T11:46:41Z by kres 1fc767a. +# Generated on 2024-11-28T12:57:52Z by kres 232fe63. name: integration-qemu-encrypted-vip-cron concurrency: @@ -96,8 +96,6 @@ jobs: with: name: talos-logs-integration-qemu-encrypted-vip path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" diff --git a/.github/workflows/integration-qemu-race-cron.yaml b/.github/workflows/integration-qemu-race-cron.yaml index 0aca0a3755..1444c5564f 100644 --- a/.github/workflows/integration-qemu-race-cron.yaml +++ b/.github/workflows/integration-qemu-race-cron.yaml @@ -1,6 +1,6 @@ # THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. # -# Generated on 2024-11-08T11:46:41Z by kres 1fc767a. +# Generated on 2024-11-28T13:53:18Z by kres 232fe63. name: integration-qemu-race-cron concurrency: @@ -89,6 +89,7 @@ jobs: make initramfs installer - name: e2e-qemu-race env: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-qemu-race IMAGE_REGISTRY: registry.dev.siderolabs.io QEMU_EXTRA_DISKS: "3" QEMU_EXTRA_DISKS_DRIVERS: ide,nvme @@ -103,8 +104,6 @@ jobs: with: name: talos-logs-integration-qemu-race path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" diff --git a/.github/workflows/integration-trusted-boot-cron.yaml b/.github/workflows/integration-trusted-boot-cron.yaml index 32ec7cdb59..684e5d4f95 100644 --- a/.github/workflows/integration-trusted-boot-cron.yaml +++ b/.github/workflows/integration-trusted-boot-cron.yaml @@ -1,6 +1,6 @@ # THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. # -# Generated on 2024-11-08T11:46:41Z by kres 1fc767a. +# Generated on 2024-11-28T13:53:18Z by kres 232fe63. name: integration-trusted-boot-cron concurrency: @@ -103,6 +103,7 @@ jobs: - name: integration-trusted-boot env: EXTRA_TEST_ARGS: -talos.trustedboot + GITHUB_STEP_NAME: ${{ github.job}}-integration-trusted-boot IMAGE_REGISTRY: registry.dev.siderolabs.io VIA_MAINTENANCE_MODE: "true" WITH_TRUSTED_BOOT_ISO: "true" @@ -114,8 +115,6 @@ jobs: with: name: talos-logs-integration-trusted-boot path: |- - ~/.talos/clusters/**/*.log - ~/.talos/clusters/**/support.zip + /tmp/logs-*.tar.gz /tmp/support-*.zip - !~/.talos/clusters/**/swtpm.log retention-days: "5" diff --git a/.github/workflows/slack-notify.yaml b/.github/workflows/slack-notify.yaml index bad98b8132..d90b540d64 100644 --- a/.github/workflows/slack-notify.yaml +++ b/.github/workflows/slack-notify.yaml @@ -1,6 +1,6 @@ # THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. # -# Generated on 2024-09-30T11:21:25Z by kres 8be5fa7. +# Generated on 2024-11-28T12:55:15Z by kres 232fe63. name: slack-notify "on": @@ -50,11 +50,12 @@ jobs: run: | echo pull_request_number=$(gh pr view -R ${{ github.repository }} ${{ github.event.workflow_run.head_repository.owner.login }}:${{ github.event.workflow_run.head_branch }} --json number --jq .number) >> $GITHUB_OUTPUT - name: Slack Notify - uses: slackapi/slack-github-action@v1 + uses: slackapi/slack-github-action@v2 with: - channel-id: proj-talos-maintainers + method: chat.postMessage payload: | { + "channel": "proj-talos-maintainers", "attachments": [ { "color": "${{ github.event.workflow_run.conclusion == 'success' && '#2EB886' || github.event.workflow_run.conclusion == 'failure' && '#A30002' || '#FFCC00' }}", @@ -114,5 +115,4 @@ jobs: } ] } - env: - SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} + token: ${{ secrets.SLACK_BOT_TOKEN }} diff --git a/.kres.yaml b/.kres.yaml index a77711c46a..3e82eebbfc 100644 --- a/.kres.yaml +++ b/.kres.yaml @@ -233,11 +233,9 @@ spec: type: upload artifactName: talos-logs-e2e-iso disableExecutableListGeneration: true - artifactPath: ~/.talos/clusters/**/*.log + artifactPath: /tmp/logs-*.tar.gz additionalArtifacts: - - "~/.talos/clusters/**/support.zip" - "/tmp/support-*.zip" - - "!~/.talos/clusters/**/swtpm.log" - name: e2e-qemu-short depends: - default @@ -254,6 +252,7 @@ spec: - name: e2e-qemu withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-qemu-short IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: yes - name: save-talos-logs @@ -263,11 +262,9 @@ spec: type: upload artifactName: talos-logs-e2e-qemu-short disableExecutableListGeneration: true - artifactPath: ~/.talos/clusters/**/*.log + artifactPath: /tmp/logs-*.tar.gz additionalArtifacts: - - "~/.talos/clusters/**/support.zip" - "/tmp/support-*.zip" - - "!~/.talos/clusters/**/swtpm.log" - name: e2e-docker-short depends: - default @@ -293,11 +290,9 @@ spec: type: upload artifactName: talos-logs-e2e-docker-short disableExecutableListGeneration: true - artifactPath: ~/.talos/clusters/**/*.log + artifactPath: /tmp/logs-*.tar.gz additionalArtifacts: - - "~/.talos/clusters/**/support.zip" - "/tmp/support-*.zip" - - "!~/.talos/clusters/**/swtpm.log" - name: integration-qemu buildxOptions: enabled: true @@ -348,11 +343,9 @@ spec: type: upload artifactName: talos-logs-integration-qemu disableExecutableListGeneration: true - artifactPath: ~/.talos/clusters/**/*.log + artifactPath: /tmp/logs-*.tar.gz additionalArtifacts: - - "~/.talos/clusters/**/support.zip" - "/tmp/support-*.zip" - - "!~/.talos/clusters/**/swtpm.log" - name: integration-conformance buildxOptions: enabled: true @@ -391,6 +384,7 @@ spec: command: e2e-qemu withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-conformance-qemu QEMU_WORKERS: 2 QEMU_CPUS: 4 TEST_MODE: fast-conformance @@ -402,11 +396,9 @@ spec: type: upload artifactName: talos-logs-integration-qemu disableExecutableListGeneration: true - artifactPath: ~/.talos/clusters/**/*.log + artifactPath: /tmp/logs-*.tar.gz additionalArtifacts: - - "~/.talos/clusters/**/support.zip" - "/tmp/support-*.zip" - - "!~/.talos/clusters/**/swtpm.log" - name: integration-trusted-boot buildxOptions: enabled: true @@ -464,6 +456,7 @@ spec: command: e2e-qemu withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-integration-trusted-boot VIA_MAINTENANCE_MODE: true WITH_TRUSTED_BOOT_ISO: true EXTRA_TEST_ARGS: -talos.trustedboot @@ -475,11 +468,9 @@ spec: type: upload artifactName: talos-logs-integration-trusted-boot disableExecutableListGeneration: true - artifactPath: ~/.talos/clusters/**/*.log + artifactPath: /tmp/logs-*.tar.gz additionalArtifacts: - - "~/.talos/clusters/**/support.zip" - "/tmp/support-*.zip" - - "!~/.talos/clusters/**/swtpm.log" - name: integration-provision-0 buildxOptions: enabled: true @@ -528,11 +519,9 @@ spec: type: upload artifactName: talos-logs-integration-provision-0 disableExecutableListGeneration: true - artifactPath: ~/.talos/clusters/**/*.log + artifactPath: /tmp/logs-*.tar.gz additionalArtifacts: - - "~/.talos/clusters/**/support.zip" - "/tmp/support-*.zip" - - "!~/.talos/clusters/**/swtpm.log" - name: integration-provision-1 buildxOptions: enabled: true @@ -581,11 +570,9 @@ spec: type: upload artifactName: talos-logs-integration-provision-1 disableExecutableListGeneration: true - artifactPath: ~/.talos/clusters/**/*.log + artifactPath: /tmp/logs-*.tar.gz additionalArtifacts: - - "~/.talos/clusters/**/support.zip" - "/tmp/support-*.zip" - - "!~/.talos/clusters/**/swtpm.log" - name: integration-provision-2 buildxOptions: enabled: true @@ -634,11 +621,9 @@ spec: type: upload artifactName: talos-logs-integration-provision-2 disableExecutableListGeneration: true - artifactPath: ~/.talos/clusters/**/*.log + artifactPath: /tmp/logs-*.tar.gz additionalArtifacts: - - "~/.talos/clusters/**/support.zip" - "/tmp/support-*.zip" - - "!~/.talos/clusters/**/swtpm.log" - name: integration-misc-0 buildxOptions: enabled: true @@ -678,6 +663,7 @@ spec: command: e2e-qemu withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-firewall SHORT_INTEGRATION_TEST: yes WITH_FIREWALL: block IMAGE_REGISTRY: registry.dev.siderolabs.io @@ -685,6 +671,7 @@ spec: command: e2e-qemu withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-canal-reset INTEGRATION_TEST_RUN: TestIntegration/api.ResetSuite/TestResetWithSpec CUSTOM_CNI_URL: https://raw.githubusercontent.com/projectcalico/calico/v3.25.0/manifests/canal.yaml IMAGE_REGISTRY: registry.dev.siderolabs.io @@ -692,6 +679,7 @@ spec: command: e2e-qemu withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-controlplane-port SHORT_INTEGRATION_TEST: yes WITH_CONTROL_PLANE_PORT: 443 IMAGE_REGISTRY: registry.dev.siderolabs.io @@ -702,11 +690,9 @@ spec: type: upload artifactName: talos-logs-integration-misc-0 disableExecutableListGeneration: true - artifactPath: ~/.talos/clusters/**/*.log + artifactPath: /tmp/logs-*.tar.gz additionalArtifacts: - - "~/.talos/clusters/**/support.zip" - "/tmp/support-*.zip" - - "!~/.talos/clusters/**/swtpm.log" - name: integration-misc-1 buildxOptions: enabled: true @@ -746,6 +732,7 @@ spec: command: e2e-qemu withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-no-cluster-discovery SHORT_INTEGRATION_TEST: yes WITH_CLUSTER_DISCOVERY: false IMAGE_REGISTRY: registry.dev.siderolabs.io @@ -753,6 +740,7 @@ spec: command: e2e-qemu withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-kubespan SHORT_INTEGRATION_TEST: yes WITH_CLUSTER_DISCOVERY: true WITH_KUBESPAN: true @@ -761,6 +749,7 @@ spec: command: e2e-qemu withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-default-hostname SHORT_INTEGRATION_TEST: yes VIA_MAINTENANCE_MODE: true DISABLE_DHCP_HOSTNAME: true @@ -772,11 +761,9 @@ spec: type: upload artifactName: talos-logs-integration-misc-1 disableExecutableListGeneration: true - artifactPath: ~/.talos/clusters/**/*.log + artifactPath: /tmp/logs-*.tar.gz additionalArtifacts: - - "~/.talos/clusters/**/support.zip" - "/tmp/support-*.zip" - - "!~/.talos/clusters/**/swtpm.log" - name: integration-misc-2 buildxOptions: enabled: true @@ -827,6 +814,7 @@ spec: command: e2e-qemu withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-bios-cgroupsv1 SHORT_INTEGRATION_TEST: yes WITH_UEFI: false WITH_CONFIG_PATCH: "@hack/test/patches/cgroupsv1.yaml" #use cgroupsv1 @@ -835,6 +823,7 @@ spec: command: e2e-qemu withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-disk-image SHORT_INTEGRATION_TEST: yes USE_DISK_IMAGE: true VIA_MAINTENANCE_MODE: true @@ -847,11 +836,9 @@ spec: type: upload artifactName: talos-logs-integration-misc-2 disableExecutableListGeneration: true - artifactPath: ~/.talos/clusters/**/*.log + artifactPath: /tmp/logs-*.tar.gz additionalArtifacts: - - "~/.talos/clusters/**/support.zip" - "/tmp/support-*.zip" - - "!~/.talos/clusters/**/swtpm.log" - name: integration-misc-3 buildxOptions: enabled: true @@ -891,6 +878,7 @@ spec: command: e2e-qemu withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-network-chaos SHORT_INTEGRATION_TEST: yes WITH_NETWORK_CHAOS: yes IMAGE_REGISTRY: registry.dev.siderolabs.io @@ -898,6 +886,7 @@ spec: command: e2e-qemu withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-metal-iso SHORT_INTEGRATION_TEST: yes WITH_CONFIG_INJECTION_METHOD: "metal-iso" IMAGE_REGISTRY: registry.dev.siderolabs.io @@ -908,11 +897,9 @@ spec: type: upload artifactName: talos-logs-integration-misc-3 disableExecutableListGeneration: true - artifactPath: ~/.talos/clusters/**/*.log + artifactPath: /tmp/logs-*.tar.gz additionalArtifacts: - - "~/.talos/clusters/**/support.zip" - "/tmp/support-*.zip" - - "!~/.talos/clusters/**/swtpm.log" - name: integration-misc-4 buildxOptions: enabled: true @@ -952,6 +939,7 @@ spec: command: e2e-qemu withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-siderolink SHORT_INTEGRATION_TEST: yes WITH_SIDEROLINK_AGENT: true VIA_MAINTENANCE_MODE: true @@ -960,6 +948,7 @@ spec: command: e2e-qemu withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-siderolink-tunnel SHORT_INTEGRATION_TEST: yes WITH_SIDEROLINK_AGENT: tunnel VIA_MAINTENANCE_MODE: true @@ -968,6 +957,7 @@ spec: command: e2e-qemu withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-siderolink-tls SHORT_INTEGRATION_TEST: yes WITH_SIDEROLINK_AGENT: wireguard+tls VIA_MAINTENANCE_MODE: true @@ -976,6 +966,7 @@ spec: command: e2e-qemu withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-apparmor SHORT_INTEGRATION_TEST: yes WITH_APPARMOR_LSM_ENABLED: yes IMAGE_REGISTRY: registry.dev.siderolabs.io @@ -983,6 +974,7 @@ spec: command: e2e-qemu withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-k8s-user-namespace SHORT_INTEGRATION_TEST: yes WITH_CONFIG_PATCH: "@hack/test/patches/usernamespace.yaml" IMAGE_REGISTRY: registry.dev.siderolabs.io @@ -993,11 +985,9 @@ spec: type: upload artifactName: talos-logs-integration-misc-4 disableExecutableListGeneration: true - artifactPath: ~/.talos/clusters/**/*.log + artifactPath: /tmp/logs-*.tar.gz additionalArtifacts: - - "~/.talos/clusters/**/support.zip" - "/tmp/support-*.zip" - - "!~/.talos/clusters/**/swtpm.log" - name: integration-extensions buildxOptions: enabled: true @@ -1063,6 +1053,7 @@ spec: command: e2e-qemu withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-extensions QEMU_MEMORY_WORKERS: 4096 WITH_CONFIG_PATCH_WORKER: "@_out/installer-extensions-patch.yaml:@hack/test/patches/extensions.yaml:@hack/test/patches/dm-raid-module.yaml" QEMU_EXTRA_DISKS: 3 @@ -1076,11 +1067,9 @@ spec: type: upload artifactName: talos-logs-integration-extensions disableExecutableListGeneration: true - artifactPath: ~/.talos/clusters/**/*.log + artifactPath: /tmp/logs-*.tar.gz additionalArtifacts: - - "~/.talos/clusters/**/support.zip" - "/tmp/support-*.zip" - - "!~/.talos/clusters/**/swtpm.log" - name: integration-cilium buildxOptions: enabled: true @@ -1119,6 +1108,7 @@ spec: command: e2e-qemu withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-cilium SHORT_INTEGRATION_TEST: yes WITH_SKIP_K8S_NODE_READINESS_CHECK: yes WITH_CUSTOM_CNI: cilium @@ -1130,6 +1120,7 @@ spec: command: e2e-qemu withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-cilium-strict SHORT_INTEGRATION_TEST: yes WITH_SKIP_K8S_NODE_READINESS_CHECK: yes WITH_CUSTOM_CNI: cilium @@ -1142,6 +1133,7 @@ spec: command: e2e-qemu withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-cilium-strict-kubespan SHORT_INTEGRATION_TEST: yes WITH_SKIP_K8S_NODE_READINESS_CHECK: yes WITH_CUSTOM_CNI: cilium @@ -1158,11 +1150,9 @@ spec: type: upload artifactName: talos-logs-integration-cilium disableExecutableListGeneration: true - artifactPath: ~/.talos/clusters/**/*.log + artifactPath: /tmp/logs-*.tar.gz additionalArtifacts: - - "~/.talos/clusters/**/support.zip" - "/tmp/support-*.zip" - - "!~/.talos/clusters/**/swtpm.log" - name: integration-qemu-encrypted-vip buildxOptions: enabled: true @@ -1215,11 +1205,9 @@ spec: type: upload artifactName: talos-logs-integration-qemu-encrypted-vip disableExecutableListGeneration: true - artifactPath: ~/.talos/clusters/**/*.log + artifactPath: /tmp/logs-*.tar.gz additionalArtifacts: - - "~/.talos/clusters/**/support.zip" - "/tmp/support-*.zip" - - "!~/.talos/clusters/**/swtpm.log" - name: integration-qemu-race buildxOptions: enabled: true @@ -1266,6 +1254,7 @@ spec: command: e2e-qemu withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-qemu-race QEMU_EXTRA_DISKS: "3" QEMU_EXTRA_DISKS_SIZE: "10240" QEMU_EXTRA_DISKS_DRIVERS: "ide,nvme" @@ -1279,11 +1268,9 @@ spec: type: upload artifactName: talos-logs-integration-qemu-race disableExecutableListGeneration: true - artifactPath: ~/.talos/clusters/**/*.log + artifactPath: /tmp/logs-*.tar.gz additionalArtifacts: - - "~/.talos/clusters/**/support.zip" - "/tmp/support-*.zip" - - "!~/.talos/clusters/**/swtpm.log" - name: integration-qemu-csi-rook-ceph buildxOptions: enabled: true @@ -1323,6 +1310,7 @@ spec: command: e2e-qemu withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-qemu-csi-rook-ceph SHORT_INTEGRATION_TEST: yes QEMU_WORKERS: 3 QEMU_CPUS_WORKERS: 6 @@ -1339,11 +1327,9 @@ spec: type: upload artifactName: talos-logs-integration-qemu-csi-rook-ceph disableExecutableListGeneration: true - artifactPath: ~/.talos/clusters/**/*.log + artifactPath: /tmp/logs-*.tar.gz additionalArtifacts: - - "~/.talos/clusters/**/support.zip" - "/tmp/support-*.zip" - - "!~/.talos/clusters/**/swtpm.log" - name: integration-qemu-csi-longhorn buildxOptions: enabled: true @@ -1408,6 +1394,7 @@ spec: command: e2e-qemu withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-e2e-qemu-csi-longhorn SHORT_INTEGRATION_TEST: yes QEMU_WORKERS: 3 WITH_CONFIG_PATCH: "@_out/installer-extensions-patch.yaml:@hack/test/patches/longhorn.yaml" @@ -1420,11 +1407,9 @@ spec: type: upload artifactName: talos-logs-integration-qemu-csi-longhorn disableExecutableListGeneration: true - artifactPath: ~/.talos/clusters/**/*.log + artifactPath: /tmp/logs-*.tar.gz additionalArtifacts: - - "~/.talos/clusters/**/support.zip" - "/tmp/support-*.zip" - - "!~/.talos/clusters/**/swtpm.log" - name: integration-images buildxOptions: enabled: true @@ -1581,6 +1566,7 @@ spec: command: e2e-image-factory withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-factory-1.7-iso FACTORY_BOOT_METHOD: iso FACTORY_VERSION: v1.7.5 FACTORY_SCHEMATIC: 376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba @@ -1592,6 +1578,7 @@ spec: command: e2e-image-factory withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-factory-1.7-image FACTORY_BOOT_METHOD: disk-image FACTORY_VERSION: v1.7.5 FACTORY_SCHEMATIC: 376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba @@ -1603,6 +1590,7 @@ spec: command: e2e-image-factory withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-factory-1.7-pxe FACTORY_BOOT_METHOD: pxe FACTORY_VERSION: v1.7.6 FACTORY_SCHEMATIC: 376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba @@ -1611,6 +1599,7 @@ spec: command: e2e-image-factory withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-factory-1.7-secureboot FACTORY_BOOT_METHOD: secureboot-iso FACTORY_VERSION: v1.7.5 FACTORY_SCHEMATIC: cf9b7aab9ed7c365d5384509b4d31c02fdaa06d2b3ac6cc0bc806f28130eff1f @@ -1622,6 +1611,7 @@ spec: command: e2e-image-factory withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-factory-1.6-secureboot FACTORY_BOOT_METHOD: secureboot-iso FACTORY_VERSION: v1.6.0 FACTORY_SCHEMATIC: cf9b7aab9ed7c365d5384509b4d31c02fdaa06d2b3ac6cc0bc806f28130eff1f @@ -1633,6 +1623,7 @@ spec: command: e2e-image-factory withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-factory-1.6-iso FACTORY_BOOT_METHOD: iso FACTORY_VERSION: v1.6.0 FACTORY_SCHEMATIC: 376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba @@ -1644,6 +1635,7 @@ spec: command: e2e-image-factory withSudo: true environment: + GITHUB_STEP_NAME: ${{ github.job}}-factory-1.5-iso FACTORY_BOOT_METHOD: iso FACTORY_VERSION: v1.5.5 FACTORY_SCHEMATIC: 376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba @@ -1658,11 +1650,9 @@ spec: type: upload artifactName: talos-logs-integration-image-factory disableExecutableListGeneration: true - artifactPath: ~/.talos/clusters/**/*.log + artifactPath: /tmp/logs-*.tar.gz additionalArtifacts: - - "~/.talos/clusters/**/support.zip" - "/tmp/support-*.zip" - - "!~/.talos/clusters/**/swtpm.log" - name: integration-aws buildxOptions: enabled: true diff --git a/cmd/talosctl/cmd/mgmt/cluster/create.go b/cmd/talosctl/cmd/mgmt/cluster/create.go index 426ed33fec..9f86ed08b5 100644 --- a/cmd/talosctl/cmd/mgmt/cluster/create.go +++ b/cmd/talosctl/cmd/mgmt/cluster/create.go @@ -161,7 +161,6 @@ var ( dockerHostIP string withInitNode bool customCNIUrl string - crashdumpOnFailure bool skipKubeconfig bool skipInjectingConfig bool talosVersion string @@ -1032,10 +1031,6 @@ func create(ctx context.Context) error { } if err = postCreate(ctx, clusterAccess); err != nil { - if crashdumpOnFailure { - provisioner.CrashDump(ctx, cluster, os.Stderr) - } - return err } @@ -1298,7 +1293,6 @@ func init() { createCmd.Flags().BoolVar(&withInitNode, "with-init-node", false, "create the cluster with an init node") createCmd.Flags().StringVar(&customCNIUrl, customCNIUrlFlag, "", "install custom CNI from the URL (Talos cluster)") createCmd.Flags().StringVar(&dnsDomain, dnsDomainFlag, "cluster.local", "the dns domain to use for cluster") - createCmd.Flags().BoolVar(&crashdumpOnFailure, "crashdump", false, "generate support zip when cluster startup fails") createCmd.Flags().BoolVar(&skipKubeconfig, "skip-kubeconfig", false, "skip merging kubeconfig from the created cluster") createCmd.Flags().BoolVar(&skipInjectingConfig, "skip-injecting-config", false, "skip injecting config from embedded metadata server, write config files to current directory") createCmd.Flags().BoolVar(&encryptStatePartition, encryptStatePartitionFlag, false, "enable state partition encryption") diff --git a/cmd/talosctl/cmd/mgmt/cluster/destroy.go b/cmd/talosctl/cmd/mgmt/cluster/destroy.go index 680e1b6d94..1dbc35657e 100644 --- a/cmd/talosctl/cmd/mgmt/cluster/destroy.go +++ b/cmd/talosctl/cmd/mgmt/cluster/destroy.go @@ -15,8 +15,9 @@ import ( ) var destroyCmdFlags struct { - forceDelete bool - saveSupportArchivePath string + forceDelete bool + saveSupportArchivePath string + saveClusterLogsArchivePath string } // destroyCmd represents the cluster destroy command. @@ -43,12 +44,19 @@ func destroy(ctx context.Context) error { return err } - return provisioner.Destroy(ctx, cluster, provision.WithDeleteOnErr(destroyCmdFlags.forceDelete), provision.WithSaveSupportArchivePath(destroyCmdFlags.saveSupportArchivePath)) + return provisioner.Destroy( + ctx, + cluster, + provision.WithDeleteOnErr(destroyCmdFlags.forceDelete), + provision.WithSaveSupportArchivePath(destroyCmdFlags.saveSupportArchivePath), + provision.WithSaveClusterLogsArchivePath(destroyCmdFlags.saveClusterLogsArchivePath), + ) } func init() { destroyCmd.PersistentFlags().BoolVarP(&destroyCmdFlags.forceDelete, "force", "f", false, "force deletion of cluster directory if there were errors") destroyCmd.PersistentFlags().StringVarP(&destroyCmdFlags.saveSupportArchivePath, "save-support-archive-path", "", "", "save support archive to the specified file on destroy") + destroyCmd.PersistentFlags().StringVarP(&destroyCmdFlags.saveClusterLogsArchivePath, "save-cluster-logs-archive-path", "", "", "save cluster logs archive to the specified file on destroy") Cmd.AddCommand(destroyCmd) } diff --git a/hack/test/e2e-image-factory.sh b/hack/test/e2e-image-factory.sh index 12b2a83104..d734fb62dc 100755 --- a/hack/test/e2e-image-factory.sh +++ b/hack/test/e2e-image-factory.sh @@ -7,6 +7,7 @@ source ./hack/test/e2e.sh PROVISIONER=qemu CLUSTER_NAME="e2e-${PROVISIONER}" +LOG_ARCHIVE_SUFFIX="${GITHUB_STEP_NAME:-e2e-${PROVISIONER}}" FACTORY_HOSTNAME=${FACTORY_HOSTNAME:-factory.talos.dev} PXE_FACTORY_HOSTNAME=${PXE_FACTORY_HOSTNAME:-pxe.factory.talos.dev} @@ -66,7 +67,11 @@ function create_cluster { } function destroy_cluster() { - "${TALOSCTL}" cluster destroy --name "${CLUSTER_NAME}" --provisioner "${PROVISIONER}" --save-support-archive-path=/tmp/support-${CLUSTER_NAME}.zip + "${TALOSCTL}" cluster destroy \ + --name "${CLUSTER_NAME}" \ + --provisioner "${PROVISIONER}" \ + --save-cluster-logs-archive-path="/tmp/logs-${LOG_ARCHIVE_SUFFIX}.tar.gz" \ + --save-support-archive-path="/tmp/support-${LOG_ARCHIVE_SUFFIX}.zip" } trap destroy_cluster SIGINT EXIT diff --git a/hack/test/e2e-iso.sh b/hack/test/e2e-iso.sh index d2243c7018..1caf0f36ce 100755 --- a/hack/test/e2e-iso.sh +++ b/hack/test/e2e-iso.sh @@ -32,7 +32,11 @@ function create_cluster { } function destroy_cluster() { - "${TALOSCTL}" cluster destroy --name "${CLUSTER_NAME}" --provisioner "${PROVISIONER}" --save-support-archive-path=/tmp/support-${CLUSTER_NAME}.zip + "${TALOSCTL}" cluster destroy \ + --name "${CLUSTER_NAME}" \ + --provisioner "${PROVISIONER}" \ + --save-cluster-logs-archive-path="/tmp/logs-${CLUSTER_NAME}.tar.gz" \ + --save-support-archive-path="/tmp/support-${CLUSTER_NAME}.zip" } trap destroy_cluster SIGINT EXIT diff --git a/hack/test/e2e-qemu.sh b/hack/test/e2e-qemu.sh index 61c98fcb1e..bed3f2987d 100755 --- a/hack/test/e2e-qemu.sh +++ b/hack/test/e2e-qemu.sh @@ -9,6 +9,7 @@ source ./hack/test/e2e.sh PROVISIONER=qemu CLUSTER_NAME="e2e-${PROVISIONER}" +LOG_ARCHIVE_SUFFIX="${GITHUB_STEP_NAME:-e2e-${PROVISIONER}}" QEMU_FLAGS=() @@ -224,15 +225,18 @@ function create_cluster { --install-image="${INSTALLER_IMAGE}" \ --with-init-node=false \ --cni-bundle-url="${ARTIFACTS}/talosctl-cni-bundle-\${ARCH}.tar.gz" \ - --crashdump \ "${REGISTRY_MIRROR_FLAGS[@]}" \ - "${QEMU_FLAGS[@]}" || (cat ~/.talos/clusters/**/*.log && exit 1) # [TODO]: temporary hack to make it easier to debug things + "${QEMU_FLAGS[@]}" "${TALOSCTL}" config node 172.20.1.2 } function destroy_cluster() { - "${TALOSCTL}" cluster destroy --name "${CLUSTER_NAME}" --provisioner "${PROVISIONER}" --save-support-archive-path=/tmp/support-${CLUSTER_NAME}.zip + "${TALOSCTL}" cluster destroy \ + --name "${CLUSTER_NAME}" \ + --provisioner "${PROVISIONER}" \ + --save-cluster-logs-archive-path="/tmp/logs-${LOG_ARCHIVE_SUFFIX}.tar.gz" \ + --save-support-archive-path="/tmp/support-${LOG_ARCHIVE_SUFFIX}.zip" } trap destroy_cluster SIGINT EXIT diff --git a/pkg/cluster/logsaarchive.go b/pkg/cluster/logsaarchive.go new file mode 100644 index 0000000000..d246100064 --- /dev/null +++ b/pkg/cluster/logsaarchive.go @@ -0,0 +1,79 @@ +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at http://mozilla.org/MPL/2.0/. + +package cluster + +import ( + "compress/gzip" + "fmt" + "io" + "os" + "path/filepath" + "strings" + + "github.com/siderolabs/talos/pkg/imager/filemap" +) + +// SaveClusterLogsArchive saves all logs from the cluster state directory to a gzip archive. +func SaveClusterLogsArchive(statePath, archivePath string) { + if err := saveClusterLogsArchive(statePath, archivePath); err != nil { + fmt.Fprintf(os.Stderr, "error saving cluster logs archive: %v\n", err) + } +} + +func saveClusterLogsArchive(statePath, archivePath string) error { + var logFileMap []filemap.File + + if err := filepath.WalkDir(statePath, func(path string, d os.DirEntry, err error) error { + if err != nil { + return err + } + + if !strings.HasSuffix(path, ".log") { + return nil + } + + rel, err := filepath.Rel(statePath, path) + if err != nil { + return err + } + + if d.IsDir() && rel == "." { + return nil + } + + statInfo, err := d.Info() + if err != nil { + return err + } + + logFileMap = append(logFileMap, filemap.File{ + ImagePath: rel, + SourcePath: path, + ImageMode: int64(statInfo.Mode().Perm()), + }) + + return nil + }); err != nil { + return fmt.Errorf("error building filemap: %w", err) + } + + logFile, err := os.Create(archivePath) + if err != nil { + return fmt.Errorf("error creating log archive: %w", err) + } + + defer logFile.Close() //nolint:errcheck + + gzipWriter := gzip.NewWriter(logFile) + defer gzipWriter.Close() //nolint:errcheck + + r := filemap.Build(logFileMap) + + if _, err := io.Copy(gzipWriter, r); err != nil { + return fmt.Errorf("error writing log archive: %w", err) + } + + return nil +} diff --git a/pkg/imager/filemap/filemap.go b/pkg/imager/filemap/filemap.go index 8943d39aaf..e81cbf92e4 100644 --- a/pkg/imager/filemap/filemap.go +++ b/pkg/imager/filemap/filemap.go @@ -60,7 +60,8 @@ func Walk(sourceBasePath, imageBasePath string) ([]File, error) { return filemap, err } -func build(filemap []File) io.ReadCloser { +// Build a tarball from a filemap. +func Build(filemap []File) io.ReadCloser { pr, pw := io.Pipe() go func() { @@ -148,6 +149,6 @@ func Layer(filemap []File) (v1.Layer, error) { // Return a new copy of the buffer each time it's opened. return tarball.LayerFromOpener(func() (io.ReadCloser, error) { - return build(filemap), nil + return Build(filemap), nil }) } diff --git a/pkg/provision/options.go b/pkg/provision/options.go index 31893fa6d7..6dff3519bf 100644 --- a/pkg/provision/options.go +++ b/pkg/provision/options.go @@ -142,6 +142,15 @@ func WithSaveSupportArchivePath(path string) Option { } } +// WithSaveClusterLogsArchivePath specifies path to save cluster logs archive on destroy. +func WithSaveClusterLogsArchivePath(path string) Option { + return func(o *Options) error { + o.SaveClusterLogsArchivePath = path + + return nil + } +} + // WithKMS inits KMS server in the provisioner. func WithKMS(endpoint string) Option { return func(o *Options) error { @@ -190,10 +199,11 @@ type Options struct { ExtraUEFISearchPaths []string // Expose ports to worker machines in docker provisioner - DockerPorts []string - DockerPortsHostIP string - SaveSupportArchivePath string - DeleteStateOnErr bool + DockerPorts []string + DockerPortsHostIP string + SaveSupportArchivePath string + SaveClusterLogsArchivePath string + DeleteStateOnErr bool KMSEndpoint string JSONLogsEndpoint string diff --git a/pkg/provision/providers/docker/crashdump.go b/pkg/provision/providers/docker/crashdump.go deleted file mode 100644 index 954cbd67e5..0000000000 --- a/pkg/provision/providers/docker/crashdump.go +++ /dev/null @@ -1,71 +0,0 @@ -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. - -package docker - -import ( - "bytes" - "context" - "fmt" - "io" - "os" - "path/filepath" - - "github.com/docker/docker/api/types/container" - - cl "github.com/siderolabs/talos/pkg/cluster" - "github.com/siderolabs/talos/pkg/provision" -) - -// CrashDump produces debug information to help with debugging failures. -func (p *provisioner) CrashDump(ctx context.Context, cluster provision.Cluster, logWriter io.Writer) { - containers, err := p.listNodes(ctx, cluster.Info().ClusterName) - if err != nil { - fmt.Fprintf(logWriter, "error listing containers: %s\n", err) - - return - } - - statePath, err := cluster.StatePath() - if err != nil { - fmt.Fprintf(logWriter, "error getting state path: %s\n", err) - - return - } - - for _, ctr := range containers { - name := ctr.Names[0][1:] - - logs, err := p.client.ContainerLogs(ctx, ctr.ID, container.LogsOptions{ - ShowStdout: true, - ShowStderr: true, - Tail: "1000", - }) - if err != nil { - fmt.Fprintf(logWriter, "error querying container logs: %s\n", err) - - continue - } - - logPath := filepath.Join(statePath, fmt.Sprintf("%s.log", name)) - - var logData bytes.Buffer - - if _, err := io.Copy(&logData, logs); err != nil { - fmt.Fprintf(logWriter, "error reading container logs: %s\n", err) - - continue - } - - if err := os.WriteFile(logPath, logData.Bytes(), 0o644); err != nil { - fmt.Fprintf(logWriter, "error writing container logs: %s\n", err) - - continue - } - } - - supportZipPath := filepath.Join(statePath, "support.zip") - - cl.Crashdump(ctx, cluster, logWriter, supportZipPath) -} diff --git a/pkg/provision/providers/docker/destroy.go b/pkg/provision/providers/docker/destroy.go index c09994da25..3b804d7fdc 100644 --- a/pkg/provision/providers/docker/destroy.go +++ b/pkg/provision/providers/docker/destroy.go @@ -5,9 +5,14 @@ package docker import ( + "bytes" "context" "fmt" + "io" "os" + "path/filepath" + + "github.com/docker/docker/api/types/container" cl "github.com/siderolabs/talos/pkg/cluster" "github.com/siderolabs/talos/pkg/provision" @@ -25,30 +30,36 @@ func (p *provisioner) Destroy(ctx context.Context, cluster provision.Cluster, op } } + stateDirectoryPath, err := cluster.StatePath() + if err != nil { + return err + } + complete := false - deleteStateDirectory := func(shouldDelete bool) error { + deleteStateDirectory := func(stateDir string, shouldDelete bool) error { if complete || !shouldDelete { return nil } complete = true - stateDirectoryPath, err := cluster.StatePath() - if err != nil { - return err - } + return os.RemoveAll(stateDir) + } + + defer deleteStateDirectory(stateDirectoryPath, options.DeleteStateOnErr) //nolint:errcheck - return os.RemoveAll(stateDirectoryPath) + if options.SaveClusterLogsArchivePath != "" { + fmt.Fprintf(options.LogWriter, "saving cluster logs archive to %s\n", options.SaveClusterLogsArchivePath) + + p.saveContainerLogs(ctx, cluster, options.SaveClusterLogsArchivePath) } if options.SaveSupportArchivePath != "" { - fmt.Fprintln(options.LogWriter, "saving support archive") + fmt.Fprintf(options.LogWriter, "saving support archive to %s\n", options.SaveSupportArchivePath) cl.Crashdump(ctx, cluster, options.LogWriter, options.SaveSupportArchivePath) } - defer deleteStateDirectory(options.DeleteStateOnErr) //nolint:errcheck - if err := p.destroyNodes(ctx, cluster.Info().ClusterName, &options); err != nil { return err } @@ -59,5 +70,54 @@ func (p *provisioner) Destroy(ctx context.Context, cluster provision.Cluster, op return err } - return deleteStateDirectory(true) + return deleteStateDirectory(stateDirectoryPath, true) +} + +func (p *provisioner) saveContainerLogs(ctx context.Context, cluster provision.Cluster, logsArchivePath string) { + containers, err := p.listNodes(ctx, cluster.Info().ClusterName) + if err != nil { + fmt.Fprintf(os.Stderr, "error listing containers: %s\n", err) + + return + } + + statePath, err := cluster.StatePath() + if err != nil { + fmt.Fprintf(os.Stderr, "error getting state path: %s\n", err) + + return + } + + for _, ctr := range containers { + name := ctr.Names[0][1:] + + logs, err := p.client.ContainerLogs(ctx, ctr.ID, container.LogsOptions{ + ShowStdout: true, + ShowStderr: true, + Tail: "1000", + }) + if err != nil { + fmt.Fprintf(os.Stderr, "error querying container logs: %s\n", err) + + continue + } + + logPath := filepath.Join(statePath, fmt.Sprintf("%s.log", name)) + + var logData bytes.Buffer + + if _, err := io.Copy(&logData, logs); err != nil { + fmt.Fprintf(os.Stderr, "error reading container logs: %s\n", err) + + continue + } + + if err := os.WriteFile(logPath, logData.Bytes(), 0o644); err != nil { + fmt.Fprintf(os.Stderr, "error writing container logs: %s\n", err) + + continue + } + } + + cl.SaveClusterLogsArchive(statePath, logsArchivePath) } diff --git a/pkg/provision/providers/qemu/destroy.go b/pkg/provision/providers/qemu/destroy.go index afaaa245cc..f0e2634925 100644 --- a/pkg/provision/providers/qemu/destroy.go +++ b/pkg/provision/providers/qemu/destroy.go @@ -26,26 +26,32 @@ func (p *provisioner) Destroy(ctx context.Context, cluster provision.Cluster, op } } + stateDirectoryPath, err := cluster.StatePath() + if err != nil { + return err + } + complete := false - deleteStateDirectory := func(shouldDelete bool) error { + deleteStateDirectory := func(stateDir string, shouldDelete bool) error { if complete || !shouldDelete { return nil } complete = true - stateDirectoryPath, err := cluster.StatePath() - if err != nil { - return err - } - - return os.RemoveAll(stateDirectoryPath) + return os.RemoveAll(stateDir) } - defer deleteStateDirectory(options.DeleteStateOnErr) //nolint:errcheck + defer deleteStateDirectory(stateDirectoryPath, options.DeleteStateOnErr) //nolint:errcheck + + if options.SaveClusterLogsArchivePath != "" { + fmt.Fprintf(options.LogWriter, "saving cluster logs archive to %s\n", options.SaveClusterLogsArchivePath) + + cl.SaveClusterLogsArchive(stateDirectoryPath, options.SaveClusterLogsArchivePath) + } if options.SaveSupportArchivePath != "" { - fmt.Fprintln(options.LogWriter, "saving support archive") + fmt.Fprintf(options.LogWriter, "saving support archive to %s\n", options.SaveSupportArchivePath) cl.Crashdump(ctx, cluster, options.LogWriter, options.SaveSupportArchivePath) } @@ -103,5 +109,5 @@ func (p *provisioner) Destroy(ctx context.Context, cluster provision.Cluster, op fmt.Fprintln(options.LogWriter, "removing state directory") - return deleteStateDirectory(true) + return deleteStateDirectory(stateDirectoryPath, true) } diff --git a/pkg/provision/providers/vm/crashdump.go b/pkg/provision/providers/vm/crashdump.go deleted file mode 100644 index f448aa13a6..0000000000 --- a/pkg/provision/providers/vm/crashdump.go +++ /dev/null @@ -1,29 +0,0 @@ -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. - -package vm - -import ( - "context" - "fmt" - "io" - "path/filepath" - - cl "github.com/siderolabs/talos/pkg/cluster" - "github.com/siderolabs/talos/pkg/provision" -) - -// CrashDump produces debug information to help with debugging failures. -func (p *Provisioner) CrashDump(ctx context.Context, cluster provision.Cluster, logWriter io.Writer) { - statePath, err := cluster.StatePath() - if err != nil { - fmt.Fprintf(logWriter, "error getting state path: %s\n", err) - - return - } - - supportZipPath := filepath.Join(statePath, "support.zip") - - cl.Crashdump(ctx, cluster, logWriter, supportZipPath) -} diff --git a/pkg/provision/provision.go b/pkg/provision/provision.go index e5577430ba..9d07454ede 100644 --- a/pkg/provision/provision.go +++ b/pkg/provision/provision.go @@ -7,21 +7,16 @@ package provision import ( "context" - "io" "github.com/siderolabs/talos/pkg/machinery/config/generate" "github.com/siderolabs/talos/pkg/machinery/config/types/v1alpha1" ) // Provisioner is an interface each provisioner should implement. -// -//nolint:interfacebloat type Provisioner interface { Create(context.Context, ClusterRequest, ...Option) (Cluster, error) Destroy(context.Context, Cluster, ...Option) error - CrashDump(context.Context, Cluster, io.Writer) - Reflect(ctx context.Context, clusterName, stateDirectory string) (Cluster, error) GenOptions(NetworkRequest) []generate.Option diff --git a/website/content/v1.9/reference/cli.md b/website/content/v1.9/reference/cli.md index b51f3dc768..7a4d4e6934 100644 --- a/website/content/v1.9/reference/cli.md +++ b/website/content/v1.9/reference/cli.md @@ -155,7 +155,6 @@ talosctl cluster create [flags] --controlplanes int the number of controlplanes to create (default 1) --cpus string the share of CPUs as fraction (each control plane/VM) (default "2.0") --cpus-workers string the share of CPUs as fraction (each worker/VM) (default "2.0") - --crashdump generate support zip when cluster startup fails --custom-cni-url string install custom CNI from the URL (Talos cluster) --disable-dhcp-hostname skip announcing hostname via DHCP (QEMU only) --disk int default limit on disk size in MB (each VM) (default 6144) @@ -254,9 +253,10 @@ talosctl cluster destroy [flags] ### Options ``` - -f, --force force deletion of cluster directory if there were errors - -h, --help help for destroy - --save-support-archive-path string save support archive to the specified file on destroy + -f, --force force deletion of cluster directory if there were errors + -h, --help help for destroy + --save-cluster-logs-archive-path string save cluster logs archive to the specified file on destroy + --save-support-archive-path string save support archive to the specified file on destroy ``` ### Options inherited from parent commands