From 817b00fdc04bf93b4d0ff04270b5ba0c18b62311 Mon Sep 17 00:00:00 2001 From: OmkarDeshpande7 Date: Tue, 15 Sep 2026 22:48:38 +0530 Subject: [PATCH] Add release v0.3.6 --- deploy/00crds.yaml | 55 ++++++++---- deploy/installer.yaml | 65 +++++++++----- .../configs/vjailbreak-settings.yaml | 5 ++ releases/v0.3.6.md | 89 +++++++++++++++++++ 4 files changed, 176 insertions(+), 38 deletions(-) create mode 100644 releases/v0.3.6.md diff --git a/deploy/00crds.yaml b/deploy/00crds.yaml index 317beb7..a1d59b1 100644 --- a/deploy/00crds.yaml +++ b/deploy/00crds.yaml @@ -459,6 +459,21 @@ spec: items: type: string type: array + periodicSyncEnabled: + description: PeriodicSyncEnabled is a boolean to enable periodic + sync + type: boolean + periodicSyncInterval: + description: PeriodicSyncInterval is the interval at which the + migration plan should be synced + type: string + type: object + assignedIPsPerVM: + additionalProperties: + type: string + description: |- + AssignedIPsPerVM is a map of VM names to comma-separated assigned IPs for cold migration + Format: {"vm-name": "IP1,IP2,IP3"} where each IP corresponds to a network interface by index type: object fallbackToDHCP: type: boolean @@ -515,9 +530,6 @@ spec: suffix: type: string type: object - retry: - description: Retry the migration if it fails - type: boolean securityGroups: items: type: string @@ -547,10 +559,6 @@ spec: MigrationStatus is the status of the migration using Kubernetes PodPhase states (Pending, Running, Succeeded, Failed, Unknown) type: string - retryCount: - description: Migration RetryCount is the number of times the migration - has been retried - type: integer required: - migrationMessage - migrationStatus @@ -617,6 +625,11 @@ spec: spec: description: Spec defines the desired state of Migration properties: + assignedIP: + description: |- + AssignedIP is the comma-separated list of user-assigned IPs for cold migration + Format: "IP1,IP2,IP3" where each IP corresponds to a network interface by index + type: string disconnectSourceNetwork: description: |- DisconnectSourceNetwork specifies whether to disconnect the source VM's network interfaces @@ -1548,6 +1561,14 @@ spec: items: type: string type: array + periodicSyncEnabled: + description: PeriodicSyncEnabled is a boolean to enable periodic + sync + type: boolean + periodicSyncInterval: + description: PeriodicSyncInterval is the interval at which the + migration plan should be synced + type: string type: object bmConfigRef: description: BMConfigRef is the reference to the BMC credentials @@ -1697,9 +1718,6 @@ spec: suffix: type: string type: object - retry: - description: Retry the migration if it fails - type: boolean vmMigrationPlans: description: VMMigrationPlans is the reference to the VM migration plan @@ -2656,6 +2674,15 @@ rules: - patch - update - watch +- apiGroups: + - "" + resources: + - configmaps/status + - pods/status + verbs: + - get + - patch + - update - apiGroups: - "" resources: @@ -2680,14 +2707,6 @@ rules: verbs: - get - list -- apiGroups: - - "" - resources: - - pods/status - verbs: - - get - - patch - - update - apiGroups: - apiextensions.k8s.io resources: diff --git a/deploy/installer.yaml b/deploy/installer.yaml index 2306dab..afeb797 100644 --- a/deploy/installer.yaml +++ b/deploy/installer.yaml @@ -459,6 +459,21 @@ spec: items: type: string type: array + periodicSyncEnabled: + description: PeriodicSyncEnabled is a boolean to enable periodic + sync + type: boolean + periodicSyncInterval: + description: PeriodicSyncInterval is the interval at which the + migration plan should be synced + type: string + type: object + assignedIPsPerVM: + additionalProperties: + type: string + description: |- + AssignedIPsPerVM is a map of VM names to comma-separated assigned IPs for cold migration + Format: {"vm-name": "IP1,IP2,IP3"} where each IP corresponds to a network interface by index type: object fallbackToDHCP: type: boolean @@ -515,9 +530,6 @@ spec: suffix: type: string type: object - retry: - description: Retry the migration if it fails - type: boolean securityGroups: items: type: string @@ -547,10 +559,6 @@ spec: MigrationStatus is the status of the migration using Kubernetes PodPhase states (Pending, Running, Succeeded, Failed, Unknown) type: string - retryCount: - description: Migration RetryCount is the number of times the migration - has been retried - type: integer required: - migrationMessage - migrationStatus @@ -617,6 +625,11 @@ spec: spec: description: Spec defines the desired state of Migration properties: + assignedIP: + description: |- + AssignedIP is the comma-separated list of user-assigned IPs for cold migration + Format: "IP1,IP2,IP3" where each IP corresponds to a network interface by index + type: string disconnectSourceNetwork: description: |- DisconnectSourceNetwork specifies whether to disconnect the source VM's network interfaces @@ -1548,6 +1561,14 @@ spec: items: type: string type: array + periodicSyncEnabled: + description: PeriodicSyncEnabled is a boolean to enable periodic + sync + type: boolean + periodicSyncInterval: + description: PeriodicSyncInterval is the interval at which the + migration plan should be synced + type: string type: object bmConfigRef: description: BMConfigRef is the reference to the BMC credentials @@ -1697,9 +1718,6 @@ spec: suffix: type: string type: object - retry: - description: Retry the migration if it fails - type: boolean vmMigrationPlans: description: VMMigrationPlans is the reference to the VM migration plan @@ -2656,6 +2674,15 @@ rules: - patch - update - watch +- apiGroups: + - "" + resources: + - configmaps/status + - pods/status + verbs: + - get + - patch + - update - apiGroups: - "" resources: @@ -2680,14 +2707,6 @@ rules: verbs: - get - list -- apiGroups: - - "" - resources: - - pods/status - verbs: - - get - - patch - - update - apiGroups: - apiextensions.k8s.io resources: @@ -3697,7 +3716,10 @@ spec: env: - name: MAX_CONCURRENT_RECONCILES value: "5" - image: quay.io/platform9/vjailbreak-controller:v0.3.5 + envFrom: + - configMapRef: + name: pf9-env + image: quay.io/platform9/vjailbreak-controller:v0.3.6 imagePullPolicy: IfNotPresent lifecycle: preStop: @@ -3777,7 +3799,10 @@ spec: app: vpwned-sdk spec: containers: - - image: quay.io/platform9/vjailbreak-vpwned:v0.3.5 + - envFrom: + - configMapRef: + name: pf9-env + image: quay.io/platform9/vjailbreak-vpwned:v0.3.6 imagePullPolicy: IfNotPresent name: vpwned ports: diff --git a/image_builder/configs/vjailbreak-settings.yaml b/image_builder/configs/vjailbreak-settings.yaml index 705c5bb..74879db 100644 --- a/image_builder/configs/vjailbreak-settings.yaml +++ b/image_builder/configs/vjailbreak-settings.yaml @@ -5,6 +5,7 @@ metadata: namespace: migration-system data: CHANGED_BLOCKS_COPY_ITERATION_THRESHOLD: "20" # number of iterations to copy changed blocks + PERIODIC_SYNC_INTERVAL: "1h" # interval to sync vCenter VMs VM_ACTIVE_WAIT_INTERVAL_SECONDS: "20" # interval to wait for vm to become active VM_ACTIVE_WAIT_RETRY_LIMIT: "15" # number of retries to wait for vm to become active DEFAULT_MIGRATION_METHOD: "hot" # supported value hot/cold, (This setting is not used as of now. To be used by UI) @@ -16,4 +17,8 @@ data: VCENTER_LOGIN_RETRY_LIMIT: "5" # number of retries for vcenter login OPENSTACK_CREDS_REQUEUE_AFTER_MINUTES: "60" # number of minutes to requeue after for openstack creds VMWARE_CREDS_REQUEUE_AFTER_MINUTES: "60" # number of minutes to requeue after for vmware creds + VALIDATE_RDM_OWNER_VMS: "true" # validate RDM owner VMs before migration DEPLOYMENT_NAME: vJailbreak + PERIODIC_SYNC_MAX_RETRIES: "3" # max number of retries for CBT sync + PERIODIC_SYNC_RETRY_CAP: "3h" # max retry interval for CBT sync + AUTO_FSTAB_UPDATE: "false" # automatically update fstab diff --git a/releases/v0.3.6.md b/releases/v0.3.6.md new file mode 100644 index 0000000..238a8bf --- /dev/null +++ b/releases/v0.3.6.md @@ -0,0 +1,89 @@ +# v0.3.6 + +- **Tag:** `v0.3.6` +- **Published:** 2025-12-01T16:12:37Z +- **Source release:** https://github.com/platform9/vjailbreak/releases/tag/v0.3.6 + +## Release Notes + +## What's Changed +* fix - Migration only takes the first subnet while creating the ports by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1019 +* Bugfix: sync annotation from VMware to RDM disk openstack volume reference if changed by @rishabh625 in https://github.com/platform9/vjailbreak/pull/993 +* Added vjailbreak-settings ConfigMap and implement RDM owner VM validation toggle by @rishabh625 in https://github.com/platform9/vjailbreak/pull/953 +* bugfix: previous PR introduced a issue where importToCinder was not g… by @rishabh625 in https://github.com/platform9/vjailbreak/pull/1033 +* Fix - blocking port creation if dhcp is selected but VM doesn't have a valid IP by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1047 +* Version Checker Cronjob exits gracefully in air-gapped environments by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1045 +* enabled rdm configuration button by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1041 +* bugfix: fix ImportToCinder to true from migrationplan controller by @rishabh625 in https://github.com/platform9/vjailbreak/pull/1038 +* Added filter on migrations based on current status and current creation time by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/944 +* Blocked migration of VM having unknown OS by @patil-pratik-87 in https://github.com/platform9/vjailbreak/pull/1042 +* Skip CopyingChagedBlocks phase when migration type is cold by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1055 +* fix: changing from patch to update while modifying importToCinder fieeld of RDM CR, adding idempotent guard and retry on conflict.. by @rishabh625 in https://github.com/platform9/vjailbreak/pull/1054 +* delete firstboot configmap when migration is deleted by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1071 +* Sv/issue 920/enhancements log collector bundle by @sanya-pf9 in https://github.com/platform9/vjailbreak/pull/1063 +* added FQDN tooltip for better user guidance by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1069 +* bugfix: Handle VMware login failures gracefully without requeuing by @rijojohn85 in https://github.com/platform9/vjailbreak/pull/1061 +* Admin Cutover Periodic sync by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1056 +* fix - Delay in password expiration after creating the vjailbreak vm upon first login by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1076 +* Implement VM OS type validation in migration plan (release) by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1044 +* Cluster-Based VM Filtering in Migration Form by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/964 +* fix(airgap): Pre-bake cert-manager images by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1087 +* Show tenant name in openstack cluster name by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1085 +* Handle inconsistent types in Host API response by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1099 +* Separate Periodic Sync Interval Configuration for different migrations by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1083 +* Add DeepWiki badge to README by @roopakparikh in https://github.com/platform9/vjailbreak/pull/1107 +* Fix: Display RDM disk sizes correctly for disks smaller than 1 GB by @rijojohn85 in https://github.com/platform9/vjailbreak/pull/1090 +* fix: issue-1073 Removing password log and replacing with "REDACTED" echo by @sanya-pf9 in https://github.com/platform9/vjailbreak/pull/1064 +* #1067 :: Remove unnecessary get migration calls on UI by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1103 +* Added Pre-migration check to see if port is available before migration by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1115 +* Fix: Prevent race condition in RDMDisk controller causing duplicate Cinder volume imports by @rijojohn85 in https://github.com/platform9/vjailbreak/pull/1086 +* [UI] Need a Global settings page by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1114 +* Remove race condition in credential deletion flow by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1116 +* Removed retry on failure checkbox by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1118 +* Added powershell scripts for firstboot by @amar-chand in https://github.com/platform9/vjailbreak/pull/945 +* mark migrationplan as successful if there are no VMs to migrate by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1123 +* fix deleted creds used in migrationtemplate and migrationplan by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1127 +* Resolve race condition and remove RDM sleep delay by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1125 +* Added Retry Mechanism in Periodic Sync by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1080 +* 1017 assigned ip for all vms removed if we select os of one of the vms post assigning ip by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1128 +* Added a new option to enter Periodic Sync interval by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1126 +* add proxy env set by user in controller as well by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1135 +* do not wait for status after sumitting migrationform by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1132 +* Fix - User should not be able to submit migration if OS is not selected during cold migration by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1136 +* powering on of cold migration vms fix by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1131 +* #1104 :: Bug :: Filter box for tenant search is going out of focus by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1138 +* #989 :: Bug :: VM search box is going out of focus on start migration page by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1141 +* Implemented wait for RDM disks availability by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1142 +* fix - Periodic sync values are not being populated in the migration ConfigMap, causing periodic sync to be skipped by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1148 +* fix - Vm with multiple IPs on same MAC address (Tried with 2 IPs) are not getting 2nd IP on interface post migration by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1034 +* Added an enhancement to revalidate the creds whenever required by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1113 +* Added podfailed status check and reordered validation logic by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1151 +* #1137 :: Bug :: OpenStack “Validate IP” does not fail gracefully when receiving a 500 (Internal Server Error) response by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1147 +* #1144,#1145 :: periodic sync interval should not be a mandatory field on the migration form page by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1152 +* find the correct boot device without guestfish by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1133 +* Pass user-assigned IPs through MigrationPlan for cold migration by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1153 +* #864 :: Fixed multiple IP reset on OS selection by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1156 +* #1154 :: Convert the global settings page to a tabular format by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1162 +* Fetch resources post revalidation of credentials by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1161 +* Fix: Use proxy from ENV for creating net/http clients by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/1159 +* added edge cases for blocking plan to reconcile by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1163 +* bugfix: Add empty check by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1166 +* fix: #903 Using format() with timezone offset instead of ISOString() for a… by @sanya-pf9 in https://github.com/platform9/vjailbreak/pull/1171 +* Add envFrom configmap and have logs in validate IP endpoint by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1172 +* #1129 :: Remove duplicate error text on credential creation failure by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1174 +* Format UI directory with prettier by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1170 +* Removed duplicate options in migration form by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1177 +* #1175 :: Periodic sync validation requires clicking outside the input box before the Start button becomes enabled/disabled, which leads to start migration enabled even with wrong value sometimes by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1179 +* In advanced option validation check only for granularoptions ignore rest by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1183 +* Fix sdk while adding logs and other details by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/1178 +* Added check to fallback to 5m if interval is less than 5m by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1187 +* #1181 :: UI: Move to folder cannot use anyother name, when clearing the vjailbreakedVMs it appears again by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1186 +* #1192 :: Bug: Migration Submit button is disabled when triggering admin cutover with periodic sync by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1197 +* Inject log_collector.sh into the VM by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1194 +* fix netplan upload for multi-disk VM by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1195 +* Update revalidation status correctly by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1205 + +## New Contributors +* @rijojohn85 made their first contribution in https://github.com/platform9/vjailbreak/pull/1061 + +**Full Changelog**: https://github.com/platform9/vjailbreak/compare/v0.3.5...v0.3.6