From 650a046c582e5a70719669fb7032a224ab42357e Mon Sep 17 00:00:00 2001 From: github-actions Date: Thu, 19 Dec 2024 01:10:16 +0000 Subject: [PATCH] openshift-virtualization-pipelines-tasks: Auto-update tekton pipelines resources\n\nURL: https://github.com/openshift-virtualization/openshift-virtualization-pipelines-tasks\nIgnoredVersions: --- .../4.15.8/windows-efi-installer.yaml | 406 ++++++++++++++++++ .../4.16.5/windows-efi-installer.yaml | 406 ++++++++++++++++++ 2 files changed, 812 insertions(+) create mode 100644 pipelines/windows-efi-installer/4.15.8/windows-efi-installer.yaml create mode 100644 pipelines/windows-efi-installer/4.16.5/windows-efi-installer.yaml diff --git a/pipelines/windows-efi-installer/4.15.8/windows-efi-installer.yaml b/pipelines/windows-efi-installer/4.15.8/windows-efi-installer.yaml new file mode 100644 index 00000000..944f2341 --- /dev/null +++ b/pipelines/windows-efi-installer/4.15.8/windows-efi-installer.yaml @@ -0,0 +1,406 @@ +--- +apiVersion: tekton.dev/v1 +kind: Pipeline +metadata: + annotations: + tekton.dev/source: "https://github.com/openshift-virtualization/openshift-virtualization-pipelines-tasks" + tekton.dev/pipelines.minVersion: "0.43.0" + tekton.dev/categories: Automation + tekton.dev/tags: kubevirt + tekton.dev/displayName: "OpenShift Virtualization Windows UEFI installer" + tekton.dev/platforms: "linux/amd64" + artifacthub.io/maintainers: | + - name: KubeVirt Tekton tasks maintainers + email: kubevirt-tekton-tasks@redhat.com + artifacthub.io/provider: Red Hat + artifacthub.io/recommendations: | + - url: https://kubevirt.io/ + artifacthub.io/category: integration-delivery + labels: + app.kubernetes.io/version: v4.15.8 + name: windows-efi-installer +spec: + description: >- + This pipeline installs Windows 10/11/2k22/2k25 into a new DataVolume. Then the + DataVolume is suitable to be used as a default boot source or golden image + for Windows 10/11/2k22/2k25 VMs. Different OS versions requires different + customizeConfigMapName parameter with unattend.xml. + params: + - description: Download URL to Windows 10, 11 or server 2022 installation ISO (English United States x64 version is needed). You can follow https://www.microsoft.com/en-us/software-download/windows11 or https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-2022 to get one. + name: winImageDownloadURL + type: string + - name: acceptEula + description: By setting this parameter, you are agreeing to the applicable Microsoft end user license agreement(s) for each deployment or installation for the Microsoft product(s). + type: string + - name: autounattendXMLConfigMapsURL + description: Download URL to ConfigMaps with Windows autounattend.xml file. ConfigMap is used for automated installation of Windows from ISO file. Specify the correct ConfigMap name in `autounattendConfigMapName` parameter. + type: string + default: https://raw.githubusercontent.com/kubevirt/kubevirt-tekton-tasks/main/release/pipelines/windows-efi-installer/configmaps/windows-efi-installer-configmaps.yaml + - name: instanceTypeName + type: string + description: Name of VirtualMachineClusterInstancetype object + default: u1.large + - name: instanceTypeKind + type: string + description: Kind of VirtualMachineInstancetype object + default: VirtualMachineClusterInstancetype + - name: preferenceName + type: string + description: Name of VirtualMachineClusterPreference object + default: windows.11.virtio + - name: virtualMachinePreferenceKind + type: string + description: Kind of virtualMachinePreference object + default: VirtualMachineClusterPreference + - default: windows11-autounattend + description: Name of the ConfigMap containing the sysprep configuration files (autounattend.xml, etc.). For example windows11-autounattend, windows10-efi-autounattend or windows2022-autounattend. It is possible to provide customize ConfigMaps created by the user too. + name: autounattendConfigMapName + type: string + - default: registry.redhat.io/container-native-virtualization/virtio-win-rhel9:v4.15.8 + description: Reference to the containerdisk containing the virtio-win drivers ISO. + name: virtioContainerDiskName + type: string + - default: win11 + description: Name of the base DataVolume which is created. Pre-installed Windows VMs can be created from this DataVolume. + name: baseDvName + type: string + - default: win11 + description: Name of Windows ISO datavolume + name: isoDVName + type: string + - default: false + description: In older preferences, Windows 10 preference might still use Bios. In that case the step modify-windows-iso-file should not run. If the preference uses Bios, set this parameter to true. + name: useBiosMode + type: string + tasks: + - name: import-autounattend-configmaps + params: + - name: SCRIPT + value: |- + if [ "$(params.acceptEula)" ]; then + curl $(params.autounattendXMLConfigMapsURL) | \ + sed "s/false<\/AcceptEula>/true<\/AcceptEula>/g" | \ + oc apply -f - + else + echo "Microsoft Eula is not accepted" + echo "Exiting" + exit 1 + fi + - name: VERSION + value: latest + taskRef: + resolver: hub + params: + - name: catalog + value: tekton-catalog-tasks + - name: type + value: artifact + - name: kind + value: task + - name: name + value: openshift-client + - name: version + value: 0.2.0 + - name: import-win-iso + params: + - name: manifest + value: |- + apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + generateName: $(params.isoDVName)- + spec: + source: + http: + url: $(params.winImageDownloadURL) + storage: + volumeMode: Filesystem + resources: + requests: + storage: 9Gi + - name: waitForSuccess + value: false + - name: allowReplace + value: true + - name: setOwnerReference + value: true + taskRef: + resolver: hub + params: + - name: catalog + value: redhat-tekton-tasks + - name: type + value: artifact + - name: kind + value: task + - name: name + value: modify-data-object + - name: version + value: v4.15.8 + - name: modify-windows-iso-file + when: + - input: "$(params.useBiosMode)" + operator: in + values: ["false"] + params: + - name: pvcName + value: $(tasks.import-win-iso.results.name) + runAfter: + - import-win-iso + - create-vm-root-disk + taskRef: + resolver: hub + params: + - name: catalog + value: redhat-tekton-tasks + - name: type + value: artifact + - name: kind + value: task + - name: name + value: modify-windows-iso-file + - name: version + value: v4.15.8 + - name: create-vm-root-disk + runAfter: + - import-autounattend-configmaps + taskRef: + resolver: hub + params: + - name: catalog + value: redhat-tekton-tasks + - name: type + value: artifact + - name: kind + value: task + - name: name + value: modify-data-object + - name: version + value: v4.15.8 + params: + - name: manifest + value: |- + apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + labels: + "instancetype.kubevirt.io/default-instancetype-kind": $(params.instanceTypeKind) + "instancetype.kubevirt.io/default-instancetype": $(params.instanceTypeName) + "instancetype.kubevirt.io/default-preference-kind": $(params.virtualMachinePreferenceKind) + "instancetype.kubevirt.io/default-preference": $(params.preferenceName) + name: $(params.baseDvName) + spec: + storage: + resources: + requests: + storage: 20Gi + source: + blank: {} + - name: waitForSuccess + value: false + - name: allowReplace + value: true + - name: create-vm + params: + - name: runStrategy + value: RerunOnFailure + - name: setOwnerReference + value: true + - name: manifest + value: |- + apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + generateName: windows-efi- + spec: + instancetype: + kind: $(params.instanceTypeKind) + name: $(params.instanceTypeName) + preference: + kind: $(params.virtualMachinePreferenceKind) + name: $(params.preferenceName) + template: + spec: + evictionStrategy: LiveMigrateIfPossible + domain: + devices: + disks: + - cdrom: + bus: sata + name: installcdrom + bootOrder: 2 + - disk: + bus: virtio + name: rootdisk + bootOrder: 1 + - cdrom: + bus: sata + name: virtiocontainerdisk + - cdrom: + bus: sata + name: sysprep + volumes: + - name: installcdrom + persistentVolumeClaim: + claimName: $(tasks.import-win-iso.results.name) + - name: virtiocontainerdisk + containerDisk: + image: $(params.virtioContainerDiskName) + - name: sysprep + sysprep: + configMap: + name: $(params.autounattendConfigMapName) + - dataVolume: + name: $(tasks.create-vm-root-disk.results.name) + name: rootdisk + runAfter: + - modify-windows-iso-file + taskRef: + resolver: hub + params: + - name: catalog + value: redhat-tekton-tasks + - name: type + value: artifact + - name: kind + value: task + - name: name + value: create-vm-from-manifest + - name: version + value: v4.15.8 + - name: wait-for-vmi-status + params: + - name: vmiName + value: $(tasks.create-vm.results.name) + - name: vmiNamespace + value: $(tasks.create-vm.results.namespace) + - name: successCondition + value: status.phase == Succeeded + - name: failureCondition + value: status.phase in (Failed, Unknown) + runAfter: + - create-vm + taskRef: + resolver: hub + params: + - name: catalog + value: redhat-tekton-tasks + - name: type + value: artifact + - name: kind + value: task + - name: name + value: wait-for-vmi-status + - name: version + value: v4.15.8 + timeout: 2h0m0s + - name: create-datasource-root-disk + runAfter: + - wait-for-vmi-status + taskRef: + resolver: hub + params: + - name: catalog + value: redhat-tekton-tasks + - name: type + value: artifact + - name: kind + value: task + - name: name + value: modify-data-object + - name: version + value: v4.15.8 + params: + - name: manifest + value: |- + apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataSource + metadata: + labels: + "instancetype.kubevirt.io/default-instancetype-kind": $(params.instanceTypeKind) + "instancetype.kubevirt.io/default-instancetype": $(params.instanceTypeName) + "instancetype.kubevirt.io/default-preference-kind": $(params.virtualMachinePreferenceKind) + "instancetype.kubevirt.io/default-preference": $(params.preferenceName) + name: $(tasks.create-vm-root-disk.results.name) + namespace: $(tasks.create-vm-root-disk.results.namespace) + spec: + source: + pvc: + name: $(tasks.create-vm-root-disk.results.name) + namespace: $(tasks.create-vm-root-disk.results.namespace) + - name: waitForSuccess + value: false + - name: allowReplace + value: true + finally: + - name: cleanup-vm + params: + - name: vmName + value: $(tasks.create-vm.results.name) + - name: vmNamespace + value: $(tasks.create-vm.results.namespace) + - name: delete + value: true + taskRef: + resolver: hub + params: + - name: catalog + value: redhat-tekton-tasks + - name: type + value: artifact + - name: kind + value: task + - name: name + value: cleanup-vm + - name: version + value: v4.15.8 + timeout: 10m0s + - name: delete-imported-iso + params: + - name: deleteObject + value: true + - name: deleteObjectKind + value: DataVolume + - name: deleteObjectName + value: $(tasks.import-win-iso.results.name) + - name: namespace + value: $(tasks.import-win-iso.results.namespace) + taskRef: + resolver: hub + params: + - name: catalog + value: redhat-tekton-tasks + - name: type + value: artifact + - name: kind + value: task + - name: name + value: modify-data-object + - name: version + value: v4.15.8 + - name: delete-imported-configmaps + params: + - name: SCRIPT + value: oc delete -f $(params.autounattendXMLConfigMapsURL) + - name: VERSION + value: latest + taskRef: + resolver: hub + params: + - name: catalog + value: tekton-catalog-tasks + - name: type + value: artifact + - name: kind + value: task + - name: name + value: openshift-client + - name: version + value: 0.2.0 + results: + - description: Name of the created base DataVolume + name: baseDvName + value: $(tasks.create-vm-root-disk.results.name) + - description: Namespace of the created base DataVolume + name: baseDvNamespace + value: $(tasks.create-vm-root-disk.results.namespace) diff --git a/pipelines/windows-efi-installer/4.16.5/windows-efi-installer.yaml b/pipelines/windows-efi-installer/4.16.5/windows-efi-installer.yaml new file mode 100644 index 00000000..57157003 --- /dev/null +++ b/pipelines/windows-efi-installer/4.16.5/windows-efi-installer.yaml @@ -0,0 +1,406 @@ +--- +apiVersion: tekton.dev/v1 +kind: Pipeline +metadata: + annotations: + tekton.dev/source: "https://github.com/openshift-virtualization/openshift-virtualization-pipelines-tasks" + tekton.dev/pipelines.minVersion: "0.43.0" + tekton.dev/categories: Automation + tekton.dev/tags: kubevirt + tekton.dev/displayName: "OpenShift Virtualization Windows UEFI installer" + tekton.dev/platforms: "linux/amd64" + artifacthub.io/maintainers: | + - name: KubeVirt Tekton tasks maintainers + email: kubevirt-tekton-tasks@redhat.com + artifacthub.io/provider: Red Hat + artifacthub.io/recommendations: | + - url: https://kubevirt.io/ + artifacthub.io/category: integration-delivery + labels: + app.kubernetes.io/version: v4.16.5 + name: windows-efi-installer +spec: + description: >- + This pipeline installs Windows 10/11/2k22/2k25 into a new DataVolume. Then the + DataVolume is suitable to be used as a default boot source or golden image + for Windows 10/11/2k22/2k25 VMs. Different OS versions requires different + customizeConfigMapName parameter with unattend.xml. + params: + - description: Download URL to Windows 10, 11 or server 2022 installation ISO (English United States x64 version is needed). You can follow https://www.microsoft.com/en-us/software-download/windows11 or https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-2022 to get one. + name: winImageDownloadURL + type: string + - name: acceptEula + description: By setting this parameter, you are agreeing to the applicable Microsoft end user license agreement(s) for each deployment or installation for the Microsoft product(s). + type: string + - name: autounattendXMLConfigMapsURL + description: Download URL to ConfigMaps with Windows autounattend.xml file. ConfigMap is used for automated installation of Windows from ISO file. Specify the correct ConfigMap name in `autounattendConfigMapName` parameter. + type: string + default: https://raw.githubusercontent.com/kubevirt/kubevirt-tekton-tasks/main/release/pipelines/windows-efi-installer/configmaps/windows-efi-installer-configmaps.yaml + - name: instanceTypeName + type: string + description: Name of VirtualMachineClusterInstancetype object + default: u1.large + - name: instanceTypeKind + type: string + description: Kind of VirtualMachineInstancetype object + default: VirtualMachineClusterInstancetype + - name: preferenceName + type: string + description: Name of VirtualMachineClusterPreference object + default: windows.11.virtio + - name: virtualMachinePreferenceKind + type: string + description: Kind of virtualMachinePreference object + default: VirtualMachineClusterPreference + - default: windows11-autounattend + description: Name of the ConfigMap containing the sysprep configuration files (autounattend.xml, etc.). For example windows11-autounattend, windows10-efi-autounattend or windows2022-autounattend. It is possible to provide customize ConfigMaps created by the user too. + name: autounattendConfigMapName + type: string + - default: registry.redhat.io/container-native-virtualization/virtio-win-rhel9:v4.16.5 + description: Reference to the containerdisk containing the virtio-win drivers ISO. + name: virtioContainerDiskName + type: string + - default: win11 + description: Name of the base DataVolume which is created. Pre-installed Windows VMs can be created from this DataVolume. + name: baseDvName + type: string + - default: win11 + description: Name of Windows ISO datavolume + name: isoDVName + type: string + - default: false + description: In older preferences, Windows 10 preference might still use Bios. In that case the step modify-windows-iso-file should not run. If the preference uses Bios, set this parameter to true. + name: useBiosMode + type: string + tasks: + - name: import-autounattend-configmaps + params: + - name: SCRIPT + value: |- + if [ "$(params.acceptEula)" ]; then + curl $(params.autounattendXMLConfigMapsURL) | \ + sed "s/false<\/AcceptEula>/true<\/AcceptEula>/g" | \ + oc apply -f - + else + echo "Microsoft Eula is not accepted" + echo "Exiting" + exit 1 + fi + - name: VERSION + value: latest + taskRef: + resolver: hub + params: + - name: catalog + value: tekton-catalog-tasks + - name: type + value: artifact + - name: kind + value: task + - name: name + value: openshift-client + - name: version + value: 0.2.0 + - name: import-win-iso + params: + - name: manifest + value: |- + apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + generateName: $(params.isoDVName)- + spec: + source: + http: + url: $(params.winImageDownloadURL) + storage: + volumeMode: Filesystem + resources: + requests: + storage: 9Gi + - name: waitForSuccess + value: false + - name: allowReplace + value: true + - name: setOwnerReference + value: true + taskRef: + resolver: hub + params: + - name: catalog + value: redhat-tekton-tasks + - name: type + value: artifact + - name: kind + value: task + - name: name + value: modify-data-object + - name: version + value: v4.16.5 + - name: modify-windows-iso-file + when: + - input: "$(params.useBiosMode)" + operator: in + values: ["false"] + params: + - name: pvcName + value: $(tasks.import-win-iso.results.name) + runAfter: + - import-win-iso + - create-vm-root-disk + taskRef: + resolver: hub + params: + - name: catalog + value: redhat-tekton-tasks + - name: type + value: artifact + - name: kind + value: task + - name: name + value: modify-windows-iso-file + - name: version + value: v4.16.5 + - name: create-vm-root-disk + runAfter: + - import-autounattend-configmaps + taskRef: + resolver: hub + params: + - name: catalog + value: redhat-tekton-tasks + - name: type + value: artifact + - name: kind + value: task + - name: name + value: modify-data-object + - name: version + value: v4.16.5 + params: + - name: manifest + value: |- + apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + labels: + "instancetype.kubevirt.io/default-instancetype-kind": $(params.instanceTypeKind) + "instancetype.kubevirt.io/default-instancetype": $(params.instanceTypeName) + "instancetype.kubevirt.io/default-preference-kind": $(params.virtualMachinePreferenceKind) + "instancetype.kubevirt.io/default-preference": $(params.preferenceName) + name: $(params.baseDvName) + spec: + storage: + resources: + requests: + storage: 20Gi + source: + blank: {} + - name: waitForSuccess + value: false + - name: allowReplace + value: true + - name: create-vm + params: + - name: runStrategy + value: RerunOnFailure + - name: setOwnerReference + value: true + - name: manifest + value: |- + apiVersion: kubevirt.io/v1 + kind: VirtualMachine + metadata: + generateName: windows-efi- + spec: + instancetype: + kind: $(params.instanceTypeKind) + name: $(params.instanceTypeName) + preference: + kind: $(params.virtualMachinePreferenceKind) + name: $(params.preferenceName) + template: + spec: + evictionStrategy: LiveMigrateIfPossible + domain: + devices: + disks: + - cdrom: + bus: sata + name: installcdrom + bootOrder: 2 + - disk: + bus: virtio + name: rootdisk + bootOrder: 1 + - cdrom: + bus: sata + name: virtiocontainerdisk + - cdrom: + bus: sata + name: sysprep + volumes: + - name: installcdrom + persistentVolumeClaim: + claimName: $(tasks.import-win-iso.results.name) + - name: virtiocontainerdisk + containerDisk: + image: $(params.virtioContainerDiskName) + - name: sysprep + sysprep: + configMap: + name: $(params.autounattendConfigMapName) + - dataVolume: + name: $(tasks.create-vm-root-disk.results.name) + name: rootdisk + runAfter: + - modify-windows-iso-file + taskRef: + resolver: hub + params: + - name: catalog + value: redhat-tekton-tasks + - name: type + value: artifact + - name: kind + value: task + - name: name + value: create-vm-from-manifest + - name: version + value: v4.16.5 + - name: wait-for-vmi-status + params: + - name: vmiName + value: $(tasks.create-vm.results.name) + - name: vmiNamespace + value: $(tasks.create-vm.results.namespace) + - name: successCondition + value: status.phase == Succeeded + - name: failureCondition + value: status.phase in (Failed, Unknown) + runAfter: + - create-vm + taskRef: + resolver: hub + params: + - name: catalog + value: redhat-tekton-tasks + - name: type + value: artifact + - name: kind + value: task + - name: name + value: wait-for-vmi-status + - name: version + value: v4.16.5 + timeout: 2h0m0s + - name: create-datasource-root-disk + runAfter: + - wait-for-vmi-status + taskRef: + resolver: hub + params: + - name: catalog + value: redhat-tekton-tasks + - name: type + value: artifact + - name: kind + value: task + - name: name + value: modify-data-object + - name: version + value: v4.16.5 + params: + - name: manifest + value: |- + apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataSource + metadata: + labels: + "instancetype.kubevirt.io/default-instancetype-kind": $(params.instanceTypeKind) + "instancetype.kubevirt.io/default-instancetype": $(params.instanceTypeName) + "instancetype.kubevirt.io/default-preference-kind": $(params.virtualMachinePreferenceKind) + "instancetype.kubevirt.io/default-preference": $(params.preferenceName) + name: $(tasks.create-vm-root-disk.results.name) + namespace: $(tasks.create-vm-root-disk.results.namespace) + spec: + source: + pvc: + name: $(tasks.create-vm-root-disk.results.name) + namespace: $(tasks.create-vm-root-disk.results.namespace) + - name: waitForSuccess + value: false + - name: allowReplace + value: true + finally: + - name: cleanup-vm + params: + - name: vmName + value: $(tasks.create-vm.results.name) + - name: vmNamespace + value: $(tasks.create-vm.results.namespace) + - name: delete + value: true + taskRef: + resolver: hub + params: + - name: catalog + value: redhat-tekton-tasks + - name: type + value: artifact + - name: kind + value: task + - name: name + value: cleanup-vm + - name: version + value: v4.16.5 + timeout: 10m0s + - name: delete-imported-iso + params: + - name: deleteObject + value: true + - name: deleteObjectKind + value: DataVolume + - name: deleteObjectName + value: $(tasks.import-win-iso.results.name) + - name: namespace + value: $(tasks.import-win-iso.results.namespace) + taskRef: + resolver: hub + params: + - name: catalog + value: redhat-tekton-tasks + - name: type + value: artifact + - name: kind + value: task + - name: name + value: modify-data-object + - name: version + value: v4.16.5 + - name: delete-imported-configmaps + params: + - name: SCRIPT + value: oc delete -f $(params.autounattendXMLConfigMapsURL) + - name: VERSION + value: latest + taskRef: + resolver: hub + params: + - name: catalog + value: tekton-catalog-tasks + - name: type + value: artifact + - name: kind + value: task + - name: name + value: openshift-client + - name: version + value: 0.2.0 + results: + - description: Name of the created base DataVolume + name: baseDvName + value: $(tasks.create-vm-root-disk.results.name) + - description: Namespace of the created base DataVolume + name: baseDvNamespace + value: $(tasks.create-vm-root-disk.results.namespace)