Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
15 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 15 additions & 16 deletions .github/workflows/dev_module_build-and-registration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,21 +24,12 @@ env:
RELEASE_CHANNEL: ${{ github.event.inputs.channel }}
MODULES_MODULE_TAG: ${{ github.event.inputs.tag }}
SOURCE_REPO: "${{secrets.SOURCE_REPO}}"
GO_VERSION: "1.22.7"
MODULE_EDITION: "EE"

on:
workflow_dispatch:
inputs:
channel:
description: "Select release channel"
type: choice
default: alpha
options:
- "alpha"
- "beta"
- "early-access"
- "stable"
- "rock-solid"

tag:
description: "The module's tag, which must include the -dev postfix. For example: v1.21.1-dev"
type: string
Expand All @@ -49,9 +40,17 @@ on:
default: true
description: "Set to true if build is required"

defaults:
run:
shell: bash

concurrency:
group: "${{ github.workflow }}-${{ github.event.number || github.ref }}"
cancel-in-progress: true

jobs:
deploy-dev:
runs-on: ubuntu-latest
runs-on: [self-hosted, regular, selectel]
name: Deploy dev
steps:
- name: PRINT VARS
Expand All @@ -62,17 +61,17 @@ jobs:
echo MODULES_MODULE_NAME=$MODULES_MODULE_NAME
echo RELEASE_CHANNEL=$RELEASE_CHANNEL
echo MODULES_MODULE_TAG=$MODULES_MODULE_TAG
echo MODULE_EDITION=$MODULE_EDITION
shell: bash
- name: Validation for tag
run: |
echo ${{ github.event.inputs.tag }} | grep -P '^v\d+\.\d+\.\d+-dev.*$'
shell: bash

- uses: actions/checkout@v4

- name: Remove unwanted software
if: ${{ github.event.inputs.enableBuild == 'true' }}
uses: ./.github/actions/remove-unwanted-software
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha || github.sha }}

- uses: deckhouse/modules-actions/setup@v1
- if: ${{ github.event.inputs.enableBuild == 'true' }}
Expand Down
8 changes: 7 additions & 1 deletion .github/workflows/dev_module_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@ on:
workflow_dispatch:
inputs:
pr_number:
description: |
Pull request number, like 563, or leave empty and choose a branch
For branches main, pre-alpha, release-*, tag will be generated as branch name
required: false
type: number
pull_request:
Expand All @@ -36,6 +39,7 @@ on:
branches:
- main
- pre-alpha
- release-*

defaults:
run:
Expand Down Expand Up @@ -77,12 +81,14 @@ jobs:
run: |
if [[ "${{ github.ref_name }}" == 'pre-alpha' || "${{ github.ref_name }}" == 'main' ]]; then
MODULES_MODULE_TAG="${{ github.ref_name }}"
elif [[ "${{ github.ref_name }}" =~ ^release-[0-9]+\.[0-9]+ ]]; then
MODULES_MODULE_TAG="${{ github.ref_name }}"
elif [[ -n "${{ github.event.pull_request.number }}" ]]; then
MODULES_MODULE_TAG="pr${{ github.event.pull_request.number }}"
elif [[ -n "${{ github.event.inputs.pr_number }}" ]]; then
MODULES_MODULE_TAG="pr${{ github.event.inputs.pr_number }}"
else
echo "::error title=Module image tag is required::Can't detect module tag from workflow context. Dev build uses branch name as tag for pre-alpha and main branches, and PR number for builds from pull requests. Check workflow for correctness."
echo "::error title=Module image tag is required::Can't detect module tag from workflow context. Dev build uses branch name as tag for pre-alpha, main and release branches, and PR number for builds from pull requests. Check workflow for correctness."
exit 1
fi

Expand Down
76 changes: 76 additions & 0 deletions CHANGELOG/CHANGELOG-v0.16.0.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
api:
features:
- summary: create a network policy for the importer to avoid restrictions during import to dvcr
pull_request: https://github.com/deckhouse/virtualization/pull/675
- summary: provide dvcr connection error from DataVolume
pull_request: https://github.com/deckhouse/virtualization/pull/666
fixes:
- summary: reduce max len of block device names to avoid errors during vm creation
pull_request: https://github.com/deckhouse/virtualization/pull/737
ci:
fixes:
- summary: fix ci for release branch build
pull_request: https://github.com/deckhouse/virtualization/pull/729
- summary: fix import path for cdi images (cloner,controller)
pull_request: https://github.com/deckhouse/virtualization/pull/725
- summary: fix runner choose
pull_request: https://github.com/deckhouse/virtualization/pull/697
- summary: cleanup namespaces after e2e tests
pull_request: https://github.com/deckhouse/virtualization/pull/682
core:
fixes:
- summary: manage pods network priority during a migration using the cilium label
pull_request: https://github.com/deckhouse/virtualization/pull/642
docs:
fixes:
- summary: fix alert in virtualMachineCIDRs parameter
pull_request: https://github.com/deckhouse/virtualization/pull/677
images:
fixes:
- summary: images can be successfully created from images on immediate storage class
pull_request: https://github.com/deckhouse/virtualization/pull/712
kubevirt:
fixes:
- summary: >-
Improve unmounting process by cleaning up mount point files and verifying actual mount
states
pull_request: https://github.com/deckhouse/virtualization/pull/683
vd:
fixes:
- summary: add WaitingForFirstConsumer phase for virtual disks created from snapshots
pull_request: https://github.com/deckhouse/virtualization/pull/704
vi:
features:
- summary: add the ability to create a VirtualImage from a VirtualDiskSnapshot
pull_request: https://github.com/deckhouse/virtualization/pull/617
vm:
features:
- summary: >-
move error about exceeding the allowed number of block devices from
DiskAttachmentCapacityAvailable into BlockDevicesReady condition
pull_request: https://github.com/deckhouse/virtualization/pull/633
fixes:
- summary: >-
disk serials are now generated using the MD5 hash of the disk uid instead of the disk name
itself; this prevents errors caused by recent QEMU changes enforcing a strict 36-character
limit on serial numbers
pull_request: https://github.com/deckhouse/virtualization/pull/710
- summary: truncate prefixes
pull_request: https://github.com/deckhouse/virtualization/pull/705
- summary: >-
Disk serials are now generated using the MD5 hash of the disk name instead of the disk name
itself. This prevents errors caused by recent QEMU changes enforcing a strict 36-character
limit on serial numbers.
pull_request: https://github.com/deckhouse/virtualization/pull/690
vmbda:
fixes:
- summary: add serial for hotplug vi, cvi
pull_request: https://github.com/deckhouse/virtualization/pull/735
vmclass:
features:
- summary: add events about available nodes and sizing policies changed
pull_request: https://github.com/deckhouse/virtualization/pull/606
vmip:
features:
- summary: add new events
pull_request: https://github.com/deckhouse/virtualization/pull/645
32 changes: 32 additions & 0 deletions CHANGELOG/CHANGELOG-v0.16.1.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
core:
fixes:
- summary: >-
add validatingadmissionpolicies and validatingadmissionpolicybindings to rbac for
virt-operator (required for kubernetes >=v1.30)
pull_request: https://github.com/deckhouse/virtualization/pull/749
vdsnapshot:
fixes:
- summary: set the volume snapshot name to status
pull_request: https://github.com/deckhouse/virtualization/pull/778
vi:
fixes:
- summary: add watcher for virtv2 virtual machines
pull_request: https://github.com/deckhouse/virtualization/pull/775
- summary: >-
fix the possible hanging on the Terminating state for the virtual image that was attached to
a virtual machine
pull_request: https://github.com/deckhouse/virtualization/pull/755
- summary: >-
fixed hang in Pending when creating an image from a snapshot, improved messages in
DatasourceReady condition
pull_request: https://github.com/deckhouse/virtualization/pull/721
vm:
fixes:
- summary: >-
move the vm to a pending phase instead of starting it if it has invalid specs during
start/restart to prevent the use of outdated specifications
pull_request: https://github.com/deckhouse/virtualization/pull/678
vmop:
fixes:
- summary: fixed resource hang in InProgress during Evict/Migrate operations
pull_request: https://github.com/deckhouse/virtualization/pull/758
30 changes: 30 additions & 0 deletions CHANGELOG/CHANGELOG-v0.16.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Changelog v0.16

## Features


- **[api]** create a network policy for the importer to avoid restrictions during import to dvcr [#675](https://github.com/deckhouse/virtualization/pull/675)
- **[vi]** add the ability to create a VirtualImage from a VirtualDiskSnapshot [#617](https://github.com/deckhouse/virtualization/pull/617)
- **[vm]** move error about exceeding the allowed number of block devices from DiskAttachmentCapacityAvailable into BlockDevicesReady condition [#633](https://github.com/deckhouse/virtualization/pull/633)
- **[vmclass]** add events about available nodes and sizing policies changed [#606](https://github.com/deckhouse/virtualization/pull/606)
- **[vmip]** add new events [#645](https://github.com/deckhouse/virtualization/pull/645)

## Fixes


- **[api]** reduce max len of block device names to avoid errors during vm creation [#737](https://github.com/deckhouse/virtualization/pull/737)
- **[core]** add validatingadmissionpolicies and validatingadmissionpolicybindings to rbac for virt-operator (required for kubernetes >=v1.30) [#749](https://github.com/deckhouse/virtualization/pull/749)
- **[core]** manage pods network priority during a migration using the cilium label [#642](https://github.com/deckhouse/virtualization/pull/642)
- **[images]** images can be successfully created from images on immediate storage class [#712](https://github.com/deckhouse/virtualization/pull/712)
- **[vd]** add WaitingForFirstConsumer phase for virtual disks created from snapshots [#704](https://github.com/deckhouse/virtualization/pull/704)
- **[vi]** fix the possible hanging on the Terminating state for the virtual image that was attached to a virtual machine [#755](https://github.com/deckhouse/virtualization/pull/755)
- **[vi]** fixed hang in Pending when creating an image from a snapshot, improved messages in DatasourceReady condition [#721](https://github.com/deckhouse/virtualization/pull/721)
- **[vm]** move the vm to a pending phase instead of starting it if it has invalid specs during start/restart to prevent the use of outdated specifications [#678](https://github.com/deckhouse/virtualization/pull/678)
- **[vm]** disk serials are now generated using the MD5 hash of the disk uid instead of the disk name itself; this prevents errors caused by recent QEMU changes enforcing a strict 36-character limit on serial numbers [#710](https://github.com/deckhouse/virtualization/pull/710)
- **[vmop]** fixed resource hang in InProgress during Evict/Migrate operations [#758](https://github.com/deckhouse/virtualization/pull/758)

## Chore


- **[core]** fix build firmware (edk2) using with ovmf 4MB instead of 2MB [#707](https://github.com/deckhouse/virtualization/pull/707)

3 changes: 3 additions & 0 deletions api/core/v1alpha2/events.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,9 @@ const (
// ReasonVMOPStarted is event reason that the operation is started
ReasonVMOPStarted = "VirtualMachineOperationStarted"

// ReasonVMOPInProgress is event reason that the operation is in progress
ReasonVMOPInProgress = "VirtualMachineOperationInProgress"

// ReasonVDStorageClassWasDeleted is event reason that VDStorageClass was deleted.
ReasonVDStorageClassWasDeleted = "VirtualDiskStorageClassWasDeleted"
// ReasonVDStorageClassNotFound is event reason that VDStorageClass not found.
Expand Down
2 changes: 1 addition & 1 deletion api/core/v1alpha2/vdscondition/condition.go
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ const (
WaitingForTheVirtualDisk VirtualDiskSnapshotReadyReason = "WaitingForTheVirtualDisk"
// PotentiallyInconsistent signifies that the snapshotting process cannot begin because creating a snapshot of virtual disk attached to the running virtual machine might result in an inconsistent snapshot.
PotentiallyInconsistent VirtualDiskSnapshotReadyReason = "PotentiallyInconsistent"
// VolumeSnapshotLost signifies that the underling `VolumeSnapshot` is lost: cannot use the virtual disk snapshot as a data source.
// VolumeSnapshotLost signifies that the underlying `VolumeSnapshot` is lost: cannot use the virtual disk snapshot as a data source.
VolumeSnapshotLost VirtualDiskSnapshotReadyReason = "Lost"
// FileSystemFreezing signifies that the `VirtualDiskSnapshot` resource is in the process of freezing the filesystem of the virtual machine associated with the source virtual disk.
FileSystemFreezing VirtualDiskSnapshotReadyReason = "FileSystemFreezing"
Expand Down
2 changes: 2 additions & 0 deletions api/core/v1alpha2/vicondition/condition.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,8 @@ const (
ClusterImageNotReady DatasourceReadyReason = "ClusterImageNotReady"
// VirtualDiskNotReady indicates that the `VirtualDisk` datasource is not ready, which prevents the import process from starting.
VirtualDiskNotReady DatasourceReadyReason = "VirtualDiskNotReady"
// VirtualDiskSnapshotNotReady indicates that the `VirtualDiskSnapshot` datasource is not ready, which prevents the import process from starting.
VirtualDiskSnapshotNotReady DatasourceReadyReason = "VirtualDiskSnapshotNotReady"
// VirtualDiskInUseInRunningVirtualMachine indicates that the `VirtualDisk` attached to running `VirtualMachine`
VirtualDiskInUseInRunningVirtualMachine DatasourceReadyReason = "VirtualDiskInUseInRunningVirtualMachine"

Expand Down
2 changes: 1 addition & 1 deletion api/core/v1alpha2/vmscondition/condition.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ const (
BlockDevicesNotReady VirtualMachineSnapshotReadyReason = "BlockDevicesNotReady"
// PotentiallyInconsistent signifies that the snapshotting process cannot begin because creating a snapshot of the running virtual machine might result in an inconsistent snapshot.
PotentiallyInconsistent VirtualMachineSnapshotReadyReason = "PotentiallyInconsistent"
// VirtualDiskSnapshotLost signifies that the underling `VirtualDiskSnapshot` is lost: cannot restore the virtual machine using this snapshot.
// VirtualDiskSnapshotLost signifies that the underlying `VirtualDiskSnapshot` is lost: cannot restore the virtual machine using this snapshot.
VirtualDiskSnapshotLost VirtualMachineSnapshotReadyReason = "VirtualDiskSnapshotLost"
// FileSystemFreezing signifies that the `VirtualMachineSnapshot` resource is in the process of freezing the filesystem of the virtual machine.
FileSystemFreezing VirtualMachineSnapshotReadyReason = "FileSystemFreezing"
Expand Down
Loading
Loading