Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
16583b180f | ||
|
|
610dd94bb9 | ||
|
|
54158f60c9 | ||
|
|
0d3c530d6d | ||
|
|
4542ee3fcd | ||
|
|
4a634af992 | ||
|
|
0c53794517 |
+360
-222
@@ -460,6 +460,8 @@ spec:
|
|||||||
type: string
|
type: string
|
||||||
type: array
|
type: array
|
||||||
type: object
|
type: object
|
||||||
|
fallbackToDHCP:
|
||||||
|
type: boolean
|
||||||
firstBootScript:
|
firstBootScript:
|
||||||
default: echo "Add your startup script here!"
|
default: echo "Add your startup script here!"
|
||||||
type: string
|
type: string
|
||||||
@@ -473,6 +475,9 @@ spec:
|
|||||||
dataCopyStart:
|
dataCopyStart:
|
||||||
format: date-time
|
format: date-time
|
||||||
type: string
|
type: string
|
||||||
|
disconnectSourceNetwork:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
healthCheckPort:
|
healthCheckPort:
|
||||||
default: "443"
|
default: "443"
|
||||||
type: string
|
type: string
|
||||||
@@ -513,6 +518,10 @@ spec:
|
|||||||
retry:
|
retry:
|
||||||
description: Retry the migration if it fails
|
description: Retry the migration if it fails
|
||||||
type: boolean
|
type: boolean
|
||||||
|
securityGroups:
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
virtualMachines:
|
virtualMachines:
|
||||||
description: VirtualMachines is a list of virtual machines to be migrated
|
description: VirtualMachines is a list of virtual machines to be migrated
|
||||||
items:
|
items:
|
||||||
@@ -530,51 +539,6 @@ spec:
|
|||||||
MigrationPlanStatus defines the observed state of MigrationPlan including
|
MigrationPlanStatus defines the observed state of MigrationPlan including
|
||||||
the current status and progress of the migration
|
the current status and progress of the migration
|
||||||
properties:
|
properties:
|
||||||
conditions:
|
|
||||||
description: Conditions represents the current state of the migration
|
|
||||||
items:
|
|
||||||
description: PodCondition contains details for the current condition
|
|
||||||
of this pod.
|
|
||||||
properties:
|
|
||||||
lastProbeTime:
|
|
||||||
description: Last time we probed the condition.
|
|
||||||
format: date-time
|
|
||||||
type: string
|
|
||||||
lastTransitionTime:
|
|
||||||
description: Last time the condition transitioned from one status
|
|
||||||
to another.
|
|
||||||
format: date-time
|
|
||||||
type: string
|
|
||||||
message:
|
|
||||||
description: Human-readable message indicating details about
|
|
||||||
last transition.
|
|
||||||
type: string
|
|
||||||
observedGeneration:
|
|
||||||
description: |-
|
|
||||||
If set, this represents the .metadata.generation that the pod condition was set based upon.
|
|
||||||
This is an alpha field. Enable PodObservedGenerationTracking to be able to use this field.
|
|
||||||
format: int64
|
|
||||||
type: integer
|
|
||||||
reason:
|
|
||||||
description: Unique, one-word, CamelCase reason for the condition's
|
|
||||||
last transition.
|
|
||||||
type: string
|
|
||||||
status:
|
|
||||||
description: |-
|
|
||||||
Status is the status of the condition.
|
|
||||||
Can be True, False, Unknown.
|
|
||||||
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions
|
|
||||||
type: string
|
|
||||||
type:
|
|
||||||
description: |-
|
|
||||||
Type is the type of the condition.
|
|
||||||
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- status
|
|
||||||
- type
|
|
||||||
type: object
|
|
||||||
type: array
|
|
||||||
migrationMessage:
|
migrationMessage:
|
||||||
description: MigrationMessage is the message associated with the migration
|
description: MigrationMessage is the message associated with the migration
|
||||||
type: string
|
type: string
|
||||||
@@ -583,6 +547,10 @@ spec:
|
|||||||
MigrationStatus is the status of the migration using Kubernetes PodPhase states
|
MigrationStatus is the status of the migration using Kubernetes PodPhase states
|
||||||
(Pending, Running, Succeeded, Failed, Unknown)
|
(Pending, Running, Succeeded, Failed, Unknown)
|
||||||
type: string
|
type: string
|
||||||
|
retryCount:
|
||||||
|
description: Migration RetryCount is the number of times the migration
|
||||||
|
has been retried
|
||||||
|
type: integer
|
||||||
required:
|
required:
|
||||||
- migrationMessage
|
- migrationMessage
|
||||||
- migrationStatus
|
- migrationStatus
|
||||||
@@ -649,6 +617,11 @@ spec:
|
|||||||
spec:
|
spec:
|
||||||
description: Spec defines the desired state of Migration
|
description: Spec defines the desired state of Migration
|
||||||
properties:
|
properties:
|
||||||
|
disconnectSourceNetwork:
|
||||||
|
description: |-
|
||||||
|
DisconnectSourceNetwork specifies whether to disconnect the source VM's network interfaces
|
||||||
|
after a successful migration to prevent network conflicts. Defaults to false.
|
||||||
|
type: boolean
|
||||||
initiateCutover:
|
initiateCutover:
|
||||||
description: InitiateCutover is the flag to initiate cutover
|
description: InitiateCutover is the flag to initiate cutover
|
||||||
type: boolean
|
type: boolean
|
||||||
@@ -830,6 +803,10 @@ spec:
|
|||||||
description: TargetPCDClusterName is the name of the PCD cluster where
|
description: TargetPCDClusterName is the name of the PCD cluster where
|
||||||
the virtual machine will be migrated
|
the virtual machine will be migrated
|
||||||
type: string
|
type: string
|
||||||
|
useFlavorless:
|
||||||
|
description: UseFlavorless indicates if the migration should use flavorless
|
||||||
|
VM creation for PCD.
|
||||||
|
type: boolean
|
||||||
virtioWinDriver:
|
virtioWinDriver:
|
||||||
description: VirtioWinDriver is the driver to be used for the virtual
|
description: VirtioWinDriver is the driver to be used for the virtual
|
||||||
machine
|
machine
|
||||||
@@ -1066,6 +1043,9 @@ spec:
|
|||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
|
projectName:
|
||||||
|
description: ProjectName is the name of the project in openstack
|
||||||
|
type: string
|
||||||
secretRef:
|
secretRef:
|
||||||
description: SecretRef is the reference to the Kubernetes secret holding
|
description: SecretRef is the reference to the Kubernetes secret holding
|
||||||
OpenStack credentials
|
OpenStack credentials
|
||||||
@@ -1121,6 +1101,27 @@ spec:
|
|||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
type: array
|
type: array
|
||||||
|
securityGroups:
|
||||||
|
items:
|
||||||
|
description: SecurityGroupInfo holds the security group name
|
||||||
|
and ID
|
||||||
|
properties:
|
||||||
|
id:
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
requiresIdDisplay:
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- id
|
||||||
|
- name
|
||||||
|
- requiresIdDisplay
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
volumeBackends:
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
volumeTypes:
|
volumeTypes:
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
@@ -1332,6 +1333,159 @@ spec:
|
|||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
controller-gen.kubebuilder.io/version: v0.17.1
|
||||||
|
name: rdmdisks.vjailbreak.k8s.pf9.io
|
||||||
|
spec:
|
||||||
|
group: vjailbreak.k8s.pf9.io
|
||||||
|
names:
|
||||||
|
kind: RDMDisk
|
||||||
|
listKind: RDMDiskList
|
||||||
|
plural: rdmdisks
|
||||||
|
singular: rdmdisk
|
||||||
|
scope: Namespaced
|
||||||
|
versions:
|
||||||
|
- name: v1alpha1
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
description: RDMDisk is the Schema for the RDMDisks API.
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: |-
|
||||||
|
APIVersion defines the versioned schema of this representation of an object.
|
||||||
|
Servers should convert recognized schemas to the latest internal value, and
|
||||||
|
may reject unrecognized values.
|
||||||
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
description: |-
|
||||||
|
Kind is a string value representing the REST resource this object represents.
|
||||||
|
Servers may infer this from the endpoint the client submits requests to.
|
||||||
|
Cannot be updated.
|
||||||
|
In CamelCase.
|
||||||
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||||||
|
type: string
|
||||||
|
metadata:
|
||||||
|
type: object
|
||||||
|
spec:
|
||||||
|
description: Spec defines the desired state of RDMDisk
|
||||||
|
properties:
|
||||||
|
diskName:
|
||||||
|
description: 'Important: Run "make" to regenerate code after modifying
|
||||||
|
this file'
|
||||||
|
type: string
|
||||||
|
diskSize:
|
||||||
|
type: integer
|
||||||
|
displayName:
|
||||||
|
type: string
|
||||||
|
importToCinder:
|
||||||
|
type: boolean
|
||||||
|
openstackVolumeRef:
|
||||||
|
description: OpenstackVolumeRef ... contains information about the
|
||||||
|
OpenStack volume reference.
|
||||||
|
properties:
|
||||||
|
cinderBackendPool:
|
||||||
|
type: string
|
||||||
|
openstackCreds:
|
||||||
|
type: string
|
||||||
|
source:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
volumeType:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
ownerVMs:
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
uuid:
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- diskName
|
||||||
|
- diskSize
|
||||||
|
- displayName
|
||||||
|
- ownerVMs
|
||||||
|
- uuid
|
||||||
|
type: object
|
||||||
|
status:
|
||||||
|
description: RDMDiskStatus defines the observed state of RDMDisk.
|
||||||
|
properties:
|
||||||
|
cinderVolumeID:
|
||||||
|
type: string
|
||||||
|
conditions:
|
||||||
|
items:
|
||||||
|
description: Condition contains details for one aspect of the current
|
||||||
|
state of this API Resource.
|
||||||
|
properties:
|
||||||
|
lastTransitionTime:
|
||||||
|
description: |-
|
||||||
|
lastTransitionTime is the last time the condition transitioned from one status to another.
|
||||||
|
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
|
||||||
|
format: date-time
|
||||||
|
type: string
|
||||||
|
message:
|
||||||
|
description: |-
|
||||||
|
message is a human readable message indicating details about the transition.
|
||||||
|
This may be an empty string.
|
||||||
|
maxLength: 32768
|
||||||
|
type: string
|
||||||
|
observedGeneration:
|
||||||
|
description: |-
|
||||||
|
observedGeneration represents the .metadata.generation that the condition was set based upon.
|
||||||
|
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
|
||||||
|
with respect to the current state of the instance.
|
||||||
|
format: int64
|
||||||
|
minimum: 0
|
||||||
|
type: integer
|
||||||
|
reason:
|
||||||
|
description: |-
|
||||||
|
reason contains a programmatic identifier indicating the reason for the condition's last transition.
|
||||||
|
Producers of specific condition types may define expected values and meanings for this field,
|
||||||
|
and whether the values are considered a guaranteed API.
|
||||||
|
The value should be a CamelCase string.
|
||||||
|
This field may not be empty.
|
||||||
|
maxLength: 1024
|
||||||
|
minLength: 1
|
||||||
|
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
|
||||||
|
type: string
|
||||||
|
status:
|
||||||
|
description: status of the condition, one of True, False, Unknown.
|
||||||
|
enum:
|
||||||
|
- "True"
|
||||||
|
- "False"
|
||||||
|
- Unknown
|
||||||
|
type: string
|
||||||
|
type:
|
||||||
|
description: type of condition in CamelCase or in foo.example.com/CamelCase.
|
||||||
|
maxLength: 316
|
||||||
|
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- lastTransitionTime
|
||||||
|
- message
|
||||||
|
- reason
|
||||||
|
- status
|
||||||
|
- type
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
phase:
|
||||||
|
enum:
|
||||||
|
- Available
|
||||||
|
- Managing
|
||||||
|
- Managed
|
||||||
|
- Error
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
served: true
|
||||||
|
storage: true
|
||||||
|
subresources:
|
||||||
|
status: {}
|
||||||
|
---
|
||||||
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
controller-gen.kubebuilder.io/version: v0.17.1
|
controller-gen.kubebuilder.io/version: v0.17.1
|
||||||
@@ -1503,6 +1657,9 @@ spec:
|
|||||||
dataCopyStart:
|
dataCopyStart:
|
||||||
format: date-time
|
format: date-time
|
||||||
type: string
|
type: string
|
||||||
|
disconnectSourceNetwork:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
healthCheckPort:
|
healthCheckPort:
|
||||||
default: "443"
|
default: "443"
|
||||||
type: string
|
type: string
|
||||||
@@ -2020,6 +2177,9 @@ spec:
|
|||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
x-kubernetes-map-type: atomic
|
x-kubernetes-map-type: atomic
|
||||||
|
vcenterHost:
|
||||||
|
description: VcenterHost is the vCenter host
|
||||||
|
type: string
|
||||||
required:
|
required:
|
||||||
- datacenter
|
- datacenter
|
||||||
type: object
|
type: object
|
||||||
@@ -2210,12 +2370,6 @@ spec:
|
|||||||
ipAddress:
|
ipAddress:
|
||||||
description: IPAddress is the IP address of the virtual machine
|
description: IPAddress is the IP address of the virtual machine
|
||||||
type: string
|
type: string
|
||||||
macAddresses:
|
|
||||||
description: MacAddresses is the list of MAC addresses assigned
|
|
||||||
to the VM's network interfaces
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
type: array
|
|
||||||
memory:
|
memory:
|
||||||
description: Memory is the amount of memory in the virtual machine
|
description: Memory is the amount of memory in the virtual machine
|
||||||
type: integer
|
type: integer
|
||||||
@@ -2229,6 +2383,8 @@ spec:
|
|||||||
description: NIC represents a Virtual ethernet card in the virtual
|
description: NIC represents a Virtual ethernet card in the virtual
|
||||||
machine.
|
machine.
|
||||||
properties:
|
properties:
|
||||||
|
ipAddress:
|
||||||
|
type: string
|
||||||
mac:
|
mac:
|
||||||
type: string
|
type: string
|
||||||
network:
|
network:
|
||||||
@@ -2250,42 +2406,7 @@ spec:
|
|||||||
description: RDMDisks is the list of RDM disks for the virtual
|
description: RDMDisks is the list of RDM disks for the virtual
|
||||||
machine
|
machine
|
||||||
items:
|
items:
|
||||||
description: RDMDiskInfo contains information about a Raw Device
|
|
||||||
Mapping (RDM) disk
|
|
||||||
properties:
|
|
||||||
diskName:
|
|
||||||
description: DiskName is the name of the disk
|
|
||||||
type: string
|
type: string
|
||||||
diskSize:
|
|
||||||
description: DiskSize is the size of the disk in GB
|
|
||||||
format: int64
|
|
||||||
type: integer
|
|
||||||
displayName:
|
|
||||||
description: DisplayName is the display name of the disk
|
|
||||||
type: string
|
|
||||||
openstackVolumeRef:
|
|
||||||
description: OpenstackVolumeRef contains OpenStack volume
|
|
||||||
reference information
|
|
||||||
properties:
|
|
||||||
cinderBackendPool:
|
|
||||||
description: CinderBackendPool is the cinder backend
|
|
||||||
pool of the disk
|
|
||||||
type: string
|
|
||||||
volumeRef:
|
|
||||||
additionalProperties:
|
|
||||||
type: string
|
|
||||||
description: VolumeRef is the reference to the OpenStack
|
|
||||||
volume
|
|
||||||
type: object
|
|
||||||
volumeType:
|
|
||||||
description: VolumeType is the volume type of the disk
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
uuid:
|
|
||||||
description: UUID (VML id) is the unique identifier of the
|
|
||||||
disk
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
type: array
|
type: array
|
||||||
vmState:
|
vmState:
|
||||||
description: VMState is the state of the virtual machine
|
description: VMState is the state of the virtual machine
|
||||||
@@ -2522,8 +2643,11 @@ rules:
|
|||||||
- ""
|
- ""
|
||||||
resources:
|
resources:
|
||||||
- configmaps
|
- configmaps
|
||||||
|
- namespaces
|
||||||
- pods
|
- pods
|
||||||
- secrets
|
- secrets
|
||||||
|
- serviceaccounts
|
||||||
|
- services
|
||||||
verbs:
|
verbs:
|
||||||
- create
|
- create
|
||||||
- delete
|
- delete
|
||||||
@@ -2549,6 +2673,13 @@ rules:
|
|||||||
- get
|
- get
|
||||||
- list
|
- list
|
||||||
- watch
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- pods/log
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- ""
|
- ""
|
||||||
resources:
|
resources:
|
||||||
@@ -2557,6 +2688,30 @@ rules:
|
|||||||
- get
|
- get
|
||||||
- patch
|
- patch
|
||||||
- update
|
- update
|
||||||
|
- apiGroups:
|
||||||
|
- apiextensions.k8s.io
|
||||||
|
resources:
|
||||||
|
- customresourcedefinitions
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- delete
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- patch
|
||||||
|
- update
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- apps
|
||||||
|
resources:
|
||||||
|
- deployments
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- delete
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- patch
|
||||||
|
- update
|
||||||
|
- watch
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- batch
|
- batch
|
||||||
resources:
|
resources:
|
||||||
@@ -2569,6 +2724,33 @@ rules:
|
|||||||
- patch
|
- patch
|
||||||
- update
|
- update
|
||||||
- watch
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- networking.k8s.io
|
||||||
|
resources:
|
||||||
|
- ingresses
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- delete
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- patch
|
||||||
|
- update
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- rbac.authorization.k8s.io
|
||||||
|
resources:
|
||||||
|
- clusterrolebindings
|
||||||
|
- clusterroles
|
||||||
|
- rolebindings
|
||||||
|
- roles
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- delete
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- patch
|
||||||
|
- update
|
||||||
|
- watch
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- vjailbreak.k8s.pf9.io
|
- vjailbreak.k8s.pf9.io
|
||||||
resources:
|
resources:
|
||||||
@@ -2582,6 +2764,7 @@ rules:
|
|||||||
- openstackcreds
|
- openstackcreds
|
||||||
- pcdclusters
|
- pcdclusters
|
||||||
- pcdhosts
|
- pcdhosts
|
||||||
|
- rdmdisks
|
||||||
- rollingmigrationplans
|
- rollingmigrationplans
|
||||||
- storagemappings
|
- storagemappings
|
||||||
- vjailbreaknodes
|
- vjailbreaknodes
|
||||||
@@ -2609,6 +2792,7 @@ rules:
|
|||||||
- openstackcreds/finalizers
|
- openstackcreds/finalizers
|
||||||
- pcdclusters/finalizers
|
- pcdclusters/finalizers
|
||||||
- pcdhosts/finalizers
|
- pcdhosts/finalizers
|
||||||
|
- rdmdisks/finalizers
|
||||||
- rollingmigrationplans/finalizers
|
- rollingmigrationplans/finalizers
|
||||||
- storagemappings/finalizers
|
- storagemappings/finalizers
|
||||||
- vjailbreaknodes/finalizers
|
- vjailbreaknodes/finalizers
|
||||||
@@ -2628,6 +2812,7 @@ rules:
|
|||||||
- openstackcreds/status
|
- openstackcreds/status
|
||||||
- pcdclusters/status
|
- pcdclusters/status
|
||||||
- pcdhosts/status
|
- pcdhosts/status
|
||||||
|
- rdmdisks/status
|
||||||
- rollingmigrationplans/status
|
- rollingmigrationplans/status
|
||||||
- storagemappings/status
|
- storagemappings/status
|
||||||
- vjailbreaknodes/status
|
- vjailbreaknodes/status
|
||||||
@@ -2990,6 +3175,77 @@ rules:
|
|||||||
---
|
---
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: ClusterRole
|
kind: ClusterRole
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/managed-by: kustomize
|
||||||
|
app.kubernetes.io/name: migration
|
||||||
|
name: migration-rdmdisk-admin-role
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- vjailbreak.k8s.pf9.io
|
||||||
|
resources:
|
||||||
|
- rdmdisks
|
||||||
|
verbs:
|
||||||
|
- '*'
|
||||||
|
- apiGroups:
|
||||||
|
- vjailbreak.k8s.pf9.io
|
||||||
|
resources:
|
||||||
|
- rdmdisks/status
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRole
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/managed-by: kustomize
|
||||||
|
app.kubernetes.io/name: migration
|
||||||
|
name: migration-rdmdisk-editor-role
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- vjailbreak.k8s.pf9.io
|
||||||
|
resources:
|
||||||
|
- rdmdisks
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- delete
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- patch
|
||||||
|
- update
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- vjailbreak.k8s.pf9.io
|
||||||
|
resources:
|
||||||
|
- rdmdisks/status
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRole
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/managed-by: kustomize
|
||||||
|
app.kubernetes.io/name: migration
|
||||||
|
name: migration-rdmdisk-viewer-role
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- vjailbreak.k8s.pf9.io
|
||||||
|
resources:
|
||||||
|
- rdmdisks
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- vjailbreak.k8s.pf9.io
|
||||||
|
resources:
|
||||||
|
- rdmdisks/status
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRole
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/managed-by: kustomize
|
app.kubernetes.io/managed-by: kustomize
|
||||||
@@ -3371,6 +3627,23 @@ subjects:
|
|||||||
name: migration-controller-manager
|
name: migration-controller-manager
|
||||||
namespace: migration-system
|
namespace: migration-system
|
||||||
---
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/component: rbac
|
||||||
|
app.kubernetes.io/managed-by: kustomize
|
||||||
|
app.kubernetes.io/name: migration
|
||||||
|
name: migration-migration-controller-manager-admin
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: ClusterRole
|
||||||
|
name: cluster-admin
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: migration-controller-manager
|
||||||
|
namespace: migration-system
|
||||||
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
@@ -3385,142 +3658,6 @@ spec:
|
|||||||
app: vpwned-sdk
|
app: vpwned-sdk
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
---
|
---
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/managed-by: kustomize
|
|
||||||
app.kubernetes.io/name: migration
|
|
||||||
control-plane: controller-manager
|
|
||||||
name: migration-controller-manager
|
|
||||||
namespace: migration-system
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
control-plane: controller-manager
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
kubectl.kubernetes.io/default-container: manager
|
|
||||||
labels:
|
|
||||||
control-plane: controller-manager
|
|
||||||
spec:
|
|
||||||
affinity:
|
|
||||||
nodeAffinity:
|
|
||||||
requiredDuringSchedulingIgnoredDuringExecution:
|
|
||||||
nodeSelectorTerms:
|
|
||||||
- matchExpressions:
|
|
||||||
- key: node-role.kubernetes.io/control-plane
|
|
||||||
operator: Exists
|
|
||||||
containers:
|
|
||||||
- args:
|
|
||||||
- --leader-elect=false
|
|
||||||
- --health-probe-bind-address=:8081
|
|
||||||
command:
|
|
||||||
- /manager
|
|
||||||
image: quay.io/platform9/vjailbreak-controller:v0.2.0
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
lifecycle:
|
|
||||||
preStop:
|
|
||||||
exec:
|
|
||||||
command:
|
|
||||||
- /bin/sh
|
|
||||||
- -c
|
|
||||||
- sleep 5
|
|
||||||
livenessProbe:
|
|
||||||
httpGet:
|
|
||||||
path: /healthz
|
|
||||||
port: 8081
|
|
||||||
initialDelaySeconds: 15
|
|
||||||
periodSeconds: 20
|
|
||||||
name: manager
|
|
||||||
readinessProbe:
|
|
||||||
httpGet:
|
|
||||||
path: /readyz
|
|
||||||
port: 8081
|
|
||||||
initialDelaySeconds: 5
|
|
||||||
periodSeconds: 10
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 200m
|
|
||||||
memory: 256Mi
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /etc/pf9/k3s
|
|
||||||
name: master-token
|
|
||||||
- mountPath: /home/ubuntu
|
|
||||||
name: vddk
|
|
||||||
- mountPath: /etc/hosts
|
|
||||||
name: hosts-file
|
|
||||||
hostNetwork: true
|
|
||||||
securityContext:
|
|
||||||
runAsGroup: 0
|
|
||||||
runAsUser: 0
|
|
||||||
serviceAccountName: migration-controller-manager
|
|
||||||
terminationGracePeriodSeconds: 30
|
|
||||||
volumes:
|
|
||||||
- hostPath:
|
|
||||||
path: /var/lib/rancher/k3s/server
|
|
||||||
type: Directory
|
|
||||||
name: master-token
|
|
||||||
- hostPath:
|
|
||||||
path: /home/ubuntu
|
|
||||||
type: Directory
|
|
||||||
name: vddk
|
|
||||||
- hostPath:
|
|
||||||
path: /etc/hosts
|
|
||||||
type: File
|
|
||||||
name: hosts-file
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: vpwned-sdk
|
|
||||||
name: migration-vpwned-sdk
|
|
||||||
namespace: migration-system
|
|
||||||
spec:
|
|
||||||
progressDeadlineSeconds: 600
|
|
||||||
replicas: 1
|
|
||||||
revisionHistoryLimit: 10
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: vpwned-sdk
|
|
||||||
strategy:
|
|
||||||
rollingUpdate:
|
|
||||||
maxSurge: 25%
|
|
||||||
maxUnavailable: 25%
|
|
||||||
type: RollingUpdate
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: vpwned-sdk
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- image: quay.io/platform9/vjailbreak-vpwned:v0.2.0
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
name: vpwned
|
|
||||||
ports:
|
|
||||||
- containerPort: 3001
|
|
||||||
protocol: TCP
|
|
||||||
resources: {}
|
|
||||||
terminationMessagePath: /dev/termination-log
|
|
||||||
terminationMessagePolicy: File
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /etc/hosts
|
|
||||||
name: hosts-file
|
|
||||||
readOnly: true
|
|
||||||
dnsPolicy: ClusterFirst
|
|
||||||
restartPolicy: Always
|
|
||||||
schedulerName: default-scheduler
|
|
||||||
securityContext: {}
|
|
||||||
terminationGracePeriodSeconds: 30
|
|
||||||
volumes:
|
|
||||||
- hostPath:
|
|
||||||
path: /etc/hosts
|
|
||||||
type: File
|
|
||||||
name: hosts-file
|
|
||||||
---
|
|
||||||
apiVersion: networking.k8s.io/v1
|
apiVersion: networking.k8s.io/v1
|
||||||
kind: Ingress
|
kind: Ingress
|
||||||
metadata:
|
metadata:
|
||||||
@@ -3542,3 +3679,4 @@ spec:
|
|||||||
number: 80
|
number: 80
|
||||||
path: /dev-api/sdk/(.*)
|
path: /dev-api/sdk/(.*)
|
||||||
pathType: ImplementationSpecific
|
pathType: ImplementationSpecific
|
||||||
|
---
|
||||||
@@ -20,6 +20,7 @@ spec:
|
|||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 80
|
- containerPort: 80
|
||||||
|
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
@@ -42,6 +43,8 @@ metadata:
|
|||||||
namespace: migration-system
|
namespace: migration-system
|
||||||
annotations:
|
annotations:
|
||||||
nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
|
nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
|
||||||
|
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
|
||||||
|
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
||||||
spec:
|
spec:
|
||||||
ingressClassName: nginx
|
ingressClassName: nginx
|
||||||
rules:
|
rules:
|
||||||
@@ -64,6 +67,8 @@ metadata:
|
|||||||
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
|
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
|
||||||
nginx.ingress.kubernetes.io/rewrite-target: /$1
|
nginx.ingress.kubernetes.io/rewrite-target: /$1
|
||||||
nginx.ingress.kubernetes.io/use-regex: "true"
|
nginx.ingress.kubernetes.io/use-regex: "true"
|
||||||
|
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
|
||||||
|
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
||||||
spec:
|
spec:
|
||||||
ingressClassName: nginx
|
ingressClassName: nginx
|
||||||
rules:
|
rules:
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: analytics-keys
|
||||||
|
namespace: migration-system
|
||||||
|
type: Opaque
|
||||||
|
data:
|
||||||
|
amplitude-api-key: ${AMPLITUDE_API_KEY}
|
||||||
|
bugsnag-api-key: ${BUGSNAG_API_KEY}
|
||||||
|
app-version: ${VJB_VERSION_TAG}
|
||||||
|
release-stage: cHJvZHVjdGlvbgo=
|
||||||
@@ -61,6 +61,19 @@ spec:
|
|||||||
MASTER_IP=$(grep -E '^export MASTER_IP=' /etc/pf9/k3s.env | cut -d'=' -f2)
|
MASTER_IP=$(grep -E '^export MASTER_IP=' /etc/pf9/k3s.env | cut -d'=' -f2)
|
||||||
if [ "$IS_MASTER" = "true" ]; then
|
if [ "$IS_MASTER" = "true" ]; then
|
||||||
echo "Master node detected. IP: $MASTER_IP"
|
echo "Master node detected. IP: $MASTER_IP"
|
||||||
|
|
||||||
|
# Clean up logs older than 24 hours on master node
|
||||||
|
echo "Cleaning up logs older than 24 hours on master node"
|
||||||
|
# Note: Not restarting services to avoid disruption
|
||||||
|
# Instead, properly closing files in the v2v-helper code
|
||||||
|
# Clean master's own logs and force delete any stuck files
|
||||||
|
find /var/log/pf9 -type f -mtime +1 -delete 2>/dev/null || true
|
||||||
|
# Clean worker logs stored on master and force delete any stuck files
|
||||||
|
find /var/lib/rsync/worker-logs -type f -mtime +1 -delete 2>/dev/null || true
|
||||||
|
# Clear deleted but open files (useful when processes still hold file handles)
|
||||||
|
echo "Clearing deleted but open files..."
|
||||||
|
lsof +L1 | grep "/var/log/pf9\|/var/lib/rsync/worker-logs" | awk '{print $2}' | xargs -r kill -HUP 2>/dev/null || true
|
||||||
|
|
||||||
echo "Starting rsync daemon..."
|
echo "Starting rsync daemon..."
|
||||||
rsync --daemon --config=/etc/pf9/rsyncd.conf --no-detach
|
rsync --daemon --config=/etc/pf9/rsyncd.conf --no-detach
|
||||||
if ps aux | grep rsync | grep -v grep; then
|
if ps aux | grep rsync | grep -v grep; then
|
||||||
@@ -73,15 +86,26 @@ spec:
|
|||||||
echo "Worker node detected. Syncing from Master..."
|
echo "Worker node detected. Syncing from Master..."
|
||||||
while true; do
|
while true; do
|
||||||
mkdir -p /home/ubuntu/vmware-vix-disklib-distrib/
|
mkdir -p /home/ubuntu/vmware-vix-disklib-distrib/
|
||||||
|
|
||||||
|
# Clean up logs older than 24 hours on worker node
|
||||||
|
echo "Cleaning up logs older than 24 hours on worker node"
|
||||||
|
# Note: Not restarting services to avoid disruption
|
||||||
|
# Instead, properly closing files in the v2v-helper code
|
||||||
|
# Force delete old log files
|
||||||
|
find /var/log/pf9 -type f -mtime +1 -delete 2>/dev/null || true
|
||||||
|
# Clear deleted but open files
|
||||||
|
echo "Clearing deleted but open files..."
|
||||||
|
lsof +L1 | grep "/var/log/pf9" | awk '{print $2}' | xargs -r kill -HUP 2>/dev/null || true
|
||||||
|
# Free up disk space by clearing caches
|
||||||
|
sync
|
||||||
|
echo 3 > /proc/sys/vm/drop_caches 2>/dev/null || true
|
||||||
|
|
||||||
echo "Syncing from rsync://${MASTER_IP}"
|
echo "Syncing from rsync://${MASTER_IP}"
|
||||||
rsync -avz rsync://${MASTER_IP}/vmwarelib/ /home/ubuntu/vmware-vix-disklib-distrib/
|
rsync -avz rsync://${MASTER_IP}/vmwarelib/ /home/ubuntu/vmware-vix-disklib-distrib/
|
||||||
|
|
||||||
# Sync logs from worker to master
|
# Sync logs from worker to master
|
||||||
rsync -avz /var/log/pf9 rsync://${MASTER_IP}/worker-logs
|
rsync -avz /var/log/pf9 rsync://${MASTER_IP}/worker-logs
|
||||||
|
|
||||||
# Also Sync logs from master to worker
|
|
||||||
rsync -avz rsync://${MASTER_IP}/master-logs /var/log/pf9
|
|
||||||
|
|
||||||
# Sync virtio-win drivers from master to worker
|
# Sync virtio-win drivers from master to worker
|
||||||
rsync -avz rsync://${MASTER_IP}/virtio-win /home/ubuntu/virtio-win
|
rsync -avz rsync://${MASTER_IP}/virtio-win /home/ubuntu/virtio-win
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
export IS_MASTER=true
|
export IS_MASTER=true
|
||||||
export MASTER_IP=
|
export MASTER_IP=
|
||||||
export K3S_TOKEN=
|
export K3S_TOKEN=
|
||||||
|
export INSTALL_K3S_EXEC="server --secrets-encryption"
|
||||||
@@ -7,3 +7,5 @@ data:
|
|||||||
version: ${TAG}
|
version: ${TAG}
|
||||||
upgradeAvailable: "false"
|
upgradeAvailable: "false"
|
||||||
upgradeVersion: ""
|
upgradeVersion: ""
|
||||||
|
githubOwner: "" # Optional: Defaults to "platform9" if not set
|
||||||
|
githubRepo: "" # Optional: Defaults to "vjailbreak" if not set
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: vjailbreak-settings
|
||||||
|
namespace: migration-system
|
||||||
|
data:
|
||||||
|
CHANGED_BLOCKS_COPY_ITERATION_THRESHOLD: "20" # number of iterations to copy changed blocks
|
||||||
|
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)
|
||||||
|
VCENTER_SCAN_CONCURRENCY_LIMIT: "10" # max number of vms to scan at the same time
|
||||||
|
CLEANUP_VOLUMES_AFTER_CONVERT_FAILURE: "false" # cleanup volumes after disk convert failure
|
||||||
|
POPULATE_VMWARE_MACHINE_FLAVORS: "true" # automatically populate VMwareMachine objects with OpenStack flavors
|
||||||
|
VOLUME_AVAILABLE_WAIT_INTERVAL_SECONDS: "10" # interval to wait for volume to become available
|
||||||
|
VOLUME_AVAILABLE_WAIT_RETRY_LIMIT: "15" # number of retries to wait for volume to become available
|
||||||
|
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
|
||||||
|
DEPLOYMENT_NAME: vJailbreak
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
# v0.2.1
|
||||||
|
|
||||||
|
- **Tag:** `v0.2.1`
|
||||||
|
- **Published:** 2025-07-16T11:00:09Z
|
||||||
|
- **Source release:** https://github.com/platform9/vjailbreak/releases/tag/v0.2.1
|
||||||
|
|
||||||
|
## Release Notes
|
||||||
|
|
||||||
|
## What's Changed
|
||||||
|
* Nit: readme by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/704
|
||||||
|
* Backport: vPwned: fix condition trigger for vm migrations by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/682
|
||||||
|
* GH actions for cross fork PRs by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/709
|
||||||
|
* remove docker login for build only steps by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/717
|
||||||
|
* add kubernetes dashboard by default to grafana by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/714
|
||||||
|
* Add opensource.txt file,inject it into the vm and prebake virtio-drivers by @spai-p9 in https://github.com/platform9/vjailbreak/pull/718
|
||||||
|
* Revert pr 662 by @spai-p9 @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/719
|
||||||
|
* simplified the release notes workflow to update docs by @sarika-p9 in https://github.com/platform9/vjailbreak/pull/710
|
||||||
|
|
||||||
|
|
||||||
|
**Full Changelog**: https://github.com/platform9/vjailbreak/compare/v0.2.0...v0.2.1
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
# v0.3.0
|
||||||
|
|
||||||
|
- **Tag:** `v0.3.0`
|
||||||
|
- **Published:** 2025-07-31T13:37:39Z
|
||||||
|
- **Source release:** https://github.com/platform9/vjailbreak/releases/tag/v0.3.0
|
||||||
|
|
||||||
|
## Release Notes
|
||||||
|
|
||||||
|
## What's Changed
|
||||||
|
* RDM disk migration from VMware to Openstack on Same SAN array - if RDM is attached to single VM by @rishabh625 in https://github.com/platform9/vjailbreak/pull/654
|
||||||
|
* persist host dns by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/735
|
||||||
|
* fix for long vm names by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/738
|
||||||
|
* additional vm name changes (release) by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/746
|
||||||
|
* process single VM at a time by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/749
|
||||||
|
* Feature: add volume backend to openstackcreds custom resource by @rishabh625 in https://github.com/platform9/vjailbreak/pull/745
|
||||||
|
* v2v-helper: log time taken by disk copy and conversion by @jessicaralhan in https://github.com/platform9/vjailbreak/pull/737
|
||||||
|
* throttle goroutines by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/758
|
||||||
|
* unblock vcenter with no clusters by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/755
|
||||||
|
* added option to select security group by @sarika-p9 in https://github.com/platform9/vjailbreak/pull/761
|
||||||
|
* Delete rolling migration plan by @patil-pratik-87 in https://github.com/platform9/vjailbreak/pull/754
|
||||||
|
* Reset migrated status on migration object deletion by @sarika-p9 in https://github.com/platform9/vjailbreak/pull/744
|
||||||
|
* configurable vjb settings (release) by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/762
|
||||||
|
* added amplitude changes by @patil-pratik-87 in https://github.com/platform9/vjailbreak/pull/765
|
||||||
|
* Adding time elapsed for migration and cluster conversions + fixed the … by @patil-pratik-87 in https://github.com/platform9/vjailbreak/pull/767
|
||||||
|
* Improve ESXi host configuration UX by removing selection confusion by @patil-pratik-87 in https://github.com/platform9/vjailbreak/pull/757
|
||||||
|
* Disconnect all Virtual NICs on VMWare Source VM upon successful migration by @sarika-p9 in https://github.com/platform9/vjailbreak/pull/768
|
||||||
|
* Backend: rhel family guest network ip retention ( release ) by @spai-p9 in https://github.com/platform9/vjailbreak/pull/766
|
||||||
|
* v0.3.0 fixes for SG and os creds validation by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/773
|
||||||
|
* fix ui for clusters by @spai-p9 in https://github.com/platform9/vjailbreak/pull/775
|
||||||
|
* Fix time elapsed issue by @spai-p9 in https://github.com/platform9/vjailbreak/pull/776
|
||||||
|
* fix for wait active timeout by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/777
|
||||||
|
* fix vpwned unavailable issue by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/779
|
||||||
|
* idle connection timeout for vcenter by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/781
|
||||||
|
* revert back to metadata name by @spai-p9 in https://github.com/platform9/vjailbreak/pull/780
|
||||||
|
|
||||||
|
## New Contributors
|
||||||
|
* @jessicaralhan made their first contribution in https://github.com/platform9/vjailbreak/pull/737
|
||||||
|
|
||||||
|
**Full Changelog**: https://github.com/platform9/vjailbreak/compare/v0.2.1...v0.3.0
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
# v0.3.1
|
||||||
|
|
||||||
|
- **Tag:** `v0.3.1`
|
||||||
|
- **Published:** 2025-08-07T13:13:27Z
|
||||||
|
- **Source release:** https://github.com/platform9/vjailbreak/releases/tag/v0.3.1
|
||||||
|
|
||||||
|
## Release Notes
|
||||||
|
|
||||||
|
## What's Changed
|
||||||
|
* Feature: Addition of rdm disk custom resource and controller by @rishabh625 in https://github.com/platform9/vjailbreak/pull/753
|
||||||
|
* re-auth vcenter after timeout by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/787
|
||||||
|
* reduce default vm scan concurrency, improve logging by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/791
|
||||||
|
* Add fallback if /etc/os-release doesn't exist by @spai-p9 in https://github.com/platform9/vjailbreak/pull/772
|
||||||
|
* bring back dhcp for non-matching subnets by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/795
|
||||||
|
* amplitude and bugsnag integration (release) by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/769
|
||||||
|
* fix vm refresh for new govomi clients by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/803
|
||||||
|
* fix: one of the status.phase correctly renamed from pending to available by @rishabh625 in https://github.com/platform9/vjailbreak/pull/806
|
||||||
|
* Add vjailbreak-settings.yaml ( release ) by @spai-p9 in https://github.com/platform9/vjailbreak/pull/808
|
||||||
|
|
||||||
|
|
||||||
|
**Full Changelog**: https://github.com/platform9/vjailbreak/compare/v0.3.0...v0.3.1
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
# v0.3.2
|
||||||
|
|
||||||
|
- **Tag:** `v0.3.2`
|
||||||
|
- **Published:** 2025-08-26T11:39:44Z
|
||||||
|
- **Source release:** https://github.com/platform9/vjailbreak/releases/tag/v0.3.2
|
||||||
|
|
||||||
|
## Release Notes
|
||||||
|
|
||||||
|
## What's Changed
|
||||||
|
* handle for sles by @spai-p9 in https://github.com/platform9/vjailbreak/pull/815
|
||||||
|
* make the power off live vms default when selected and add completed at column. by @spai-p9 in https://github.com/platform9/vjailbreak/pull/813
|
||||||
|
* UI: Do admin cutover via UI by @spai-p9 in https://github.com/platform9/vjailbreak/pull/810
|
||||||
|
* Added polling for QCOW2 image before docs update by @sarika-p9 in https://github.com/platform9/vjailbreak/pull/804
|
||||||
|
* add a setting to keep the copied volumes in case of failure by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/823
|
||||||
|
* optimisations for openstack creds upload time by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/829
|
||||||
|
* fix dasboard count mismatch by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/826
|
||||||
|
* optimise disk pressure problem due to logs by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/832
|
||||||
|
* In-place upgrade by @sarika-p9 in https://github.com/platform9/vjailbreak/pull/792
|
||||||
|
* Filtering security group according to particular tenant by @sarika-p9 in https://github.com/platform9/vjailbreak/pull/824
|
||||||
|
* change completed at to created at by @spai-p9 in https://github.com/platform9/vjailbreak/pull/835
|
||||||
|
* Support Dynamic Hotplug-Enabled Flavors in Target Openstack Environment by @sarika-p9 in https://github.com/platform9/vjailbreak/pull/838
|
||||||
|
* crd update and ui changes required for hotplug by @sarika-p9 in https://github.com/platform9/vjailbreak/pull/842
|
||||||
|
* indicate missing base flavor for specific vmwaremachine by @sarika-p9 in https://github.com/platform9/vjailbreak/pull/843
|
||||||
|
* search option(s) for faster migration triggers by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/844
|
||||||
|
* Fix label getting triggered back to no, when patched by @spai-p9 in https://github.com/platform9/vjailbreak/pull/847
|
||||||
|
* Push things to S3 and introduce nightly builds (release) by @sharma-tapas @sarika-p9 in https://github.com/platform9/vjailbreak/pull/793
|
||||||
|
* search for volume types and networks by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/849
|
||||||
|
* added alert in the ui while upgrade in progress by @sarika-p9 in https://github.com/platform9/vjailbreak/pull/850
|
||||||
|
|
||||||
|
|
||||||
|
**Full Changelog**: https://github.com/platform9/vjailbreak/compare/v0.3.1...v0.3.2
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
# v0.3.3
|
||||||
|
|
||||||
|
- **Tag:** `v0.3.3`
|
||||||
|
- **Published:** 2025-09-04T12:15:48Z
|
||||||
|
- **Source release:** https://github.com/platform9/vjailbreak/releases/tag/v0.3.3
|
||||||
|
|
||||||
|
## Release Notes
|
||||||
|
|
||||||
|
## What's Changed
|
||||||
|
* Fixed artifacts availability check by @sarika-p9 in https://github.com/platform9/vjailbreak/pull/851
|
||||||
|
* fill networks based on network devices by @spai-p9 in https://github.com/platform9/vjailbreak/pull/846
|
||||||
|
* equate mac id case insensitive by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/857
|
||||||
|
* get bootable index for windows LDM by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/855
|
||||||
|
* Added MAX Keys to hotplug metadata and made it specific to PCD by @sarika-p9 in https://github.com/platform9/vjailbreak/pull/860
|
||||||
|
* UI and backend for multiple ip by @spai-p9 in https://github.com/platform9/vjailbreak/pull/833
|
||||||
|
* Fix admin cutover by @spai-p9 in https://github.com/platform9/vjailbreak/pull/862
|
||||||
|
* locked versions for nbdkit by @sarika-p9 in https://github.com/platform9/vjailbreak/pull/865
|
||||||
|
* fetch rpm from main by @sarika-p9 in https://github.com/platform9/vjailbreak/pull/870
|
||||||
|
* Fixed the os assigment in the migration form by @patil-pratik-87 in https://github.com/platform9/vjailbreak/pull/867
|
||||||
|
|
||||||
|
|
||||||
|
**Full Changelog**: https://github.com/platform9/vjailbreak/compare/v0.3.2...v0.3.3
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
# v0.3.4
|
||||||
|
|
||||||
|
- **Tag:** `v0.3.4`
|
||||||
|
- **Published:** 2025-09-16T13:29:31Z
|
||||||
|
- **Source release:** https://github.com/platform9/vjailbreak/releases/tag/v0.3.4
|
||||||
|
|
||||||
|
## Release Notes
|
||||||
|
|
||||||
|
## What's Changed
|
||||||
|
* volume wait interval through settings by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/872
|
||||||
|
* logs all openstack calls that we make by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/873
|
||||||
|
* admin cut over poweroff sequence prevent user error by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/874
|
||||||
|
* Added cronjob to fetch for latest release and notify in UI by @sarika-p9 in https://github.com/platform9/vjailbreak/pull/882
|
||||||
|
* bugfix: Add logic to assign IP from network interfaces if not already… by @rishabh625 in https://github.com/platform9/vjailbreak/pull/895
|
||||||
|
* create openstack ports before copy by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/879
|
||||||
|
* Admin cutover improve the pod label watch function by @spai-p9 in https://github.com/platform9/vjailbreak/pull/881
|
||||||
|
* remove --delete to not purge each others logs in master by @spai-p9 in https://github.com/platform9/vjailbreak/pull/904
|
||||||
|
* Advance option in UI to ask for fallback to DHCP if static IP assignment fails by @sarika-p9 in https://github.com/platform9/vjailbreak/pull/906
|
||||||
|
* block on channel send to ensure initial label delivery by @spai-p9 in https://github.com/platform9/vjailbreak/pull/900
|
||||||
|
* Support for shared pRDM disk migration in vJailbreak, including all necessary controller changes and validation through testing with clustered Windows VMs using RDM disks by @rishabh625 in https://github.com/platform9/vjailbreak/pull/858
|
||||||
|
* Optimize OpenstackCreds reconciliation for scalability by @spai-p9 in https://github.com/platform9/vjailbreak/pull/908
|
||||||
|
* Change implementation from select to normal blocking channel. by @spai-p9 in https://github.com/platform9/vjailbreak/pull/917
|
||||||
|
* bugfix: Add check for RDM disks in VM migration validation by @rishabh625 in https://github.com/platform9/vjailbreak/pull/915
|
||||||
|
* Added option in UI to retry Failed migrations by @sarika-p9 in https://github.com/platform9/vjailbreak/pull/918
|
||||||
|
* changed MAAS to Bare-metal by @sarika-p9 in https://github.com/platform9/vjailbreak/pull/916
|
||||||
|
* Added static RPMs and versionlocked in dnf by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/921
|
||||||
|
* Add SELinux for nbdkit by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/923
|
||||||
|
* vmdataexporter cli arg validation by @sanya-pf9 in https://github.com/platform9/vjailbreak/pull/884
|
||||||
|
* Fixed fonts inconsistency in vJailbreak UI by @patil-pratik-87 in https://github.com/platform9/vjailbreak/pull/898
|
||||||
|
|
||||||
|
|
||||||
|
**Full Changelog**: https://github.com/platform9/vjailbreak/compare/v0.3.3...v0.3.4
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
# v0.3.5
|
||||||
|
|
||||||
|
- **Tag:** `v0.3.5`
|
||||||
|
- **Published:** 2025-10-17T10:14:05Z
|
||||||
|
- **Source release:** https://github.com/platform9/vjailbreak/releases/tag/v0.3.5
|
||||||
|
|
||||||
|
## Release Notes
|
||||||
|
|
||||||
|
## What's Changed
|
||||||
|
* Cache OpenStack instance metadata for performance and reliability by @spai-p9 in https://github.com/platform9/vjailbreak/pull/913
|
||||||
|
* disabled upgrade button while migrations are in progress by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/934
|
||||||
|
* disabled docs update workflow to run on release event by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/935
|
||||||
|
* Updated CRD Upgrade logic with missing permissions by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/933
|
||||||
|
* Bugfix: Added vmwaresession logged out, after retrieving data from vmware by @rishabh625 in https://github.com/platform9/vjailbreak/pull/939
|
||||||
|
* Changed description of a advanced option - Fallback to DHCP by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/948
|
||||||
|
* feat: View Migration pod logs from UI by @rishabh625 in https://github.com/platform9/vjailbreak/pull/942
|
||||||
|
* Add support to display rdm disk and populate rdm disk details in UI by @patil-pratik-87 in https://github.com/platform9/vjailbreak/pull/926
|
||||||
|
* Refactor : VMwareMachine retrieval and validation in migration plan reconciliation by @rishabh625 in https://github.com/platform9/vjailbreak/pull/947
|
||||||
|
* Custom header for a vjailbreak deployment through configmap by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/958
|
||||||
|
* add creds requeue config to vjailbreak settings by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/965
|
||||||
|
* feat: Implement RDM disks validation and query integration in migration workflow by @rishabh625 in https://github.com/platform9/vjailbreak/pull/963
|
||||||
|
* feat: Set owner reference for RDM disks to ensure proper deletion with VMwareCreds by @rishabh625 in https://github.com/platform9/vjailbreak/pull/967
|
||||||
|
* feat: Enhance RDM validation to include configuration checks and improve error messaging by @rishabh625 in https://github.com/platform9/vjailbreak/pull/972
|
||||||
|
* fix: Update RDM disk migration retry logic and error handling by @rishabh625 in https://github.com/platform9/vjailbreak/pull/970
|
||||||
|
* Add a default password for Ubuntu user that needs to be changed on first boot by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/976
|
||||||
|
* List udev/fstab rules to preserve device mapping after migrations by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/905
|
||||||
|
* Disable selection of older date and time while scheduling cutover by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/960
|
||||||
|
* tls: remove cert trust logic, rely on OS_INSECURE for skipping verification by @jessicaralhan in https://github.com/platform9/vjailbreak/pull/863
|
||||||
|
* change controller rollout policy to re-create by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/979
|
||||||
|
* Fixed the bug where the script was not passed to the backend + update… by @patil-pratik-87 in https://github.com/platform9/vjailbreak/pull/980
|
||||||
|
* feat: Enhance RDM disk info population by validating disk name before updating volume reference by @rishabh625 in https://github.com/platform9/vjailbreak/pull/984
|
||||||
|
* disabled log icon in ui (release) by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/986
|
||||||
|
* disabled rdm config in UI (release) by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/987
|
||||||
|
* enable k3s encryption at rest by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/990
|
||||||
|
* Added htpasswd based authentification for ui by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/994
|
||||||
|
* cache cred info for UI by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/996
|
||||||
|
* Removed secrets GET calls from UI by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/995
|
||||||
|
* Added command line utility to change and manage the user credentials for UI by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1002
|
||||||
|
* bugfix: add limit to log streaming - limit number of bytes by @rishabh625 in https://github.com/platform9/vjailbreak/pull/988
|
||||||
|
* Implemented automated HTTPS with Cert-Manager (release) by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1005
|
||||||
|
* removed nonce from CSP by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1006
|
||||||
|
* Vjbctl - utility to add and manage users by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1003
|
||||||
|
* Vjbctl by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1010
|
||||||
|
* cronjob fix by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1013
|
||||||
|
* Add host entries to migration-vpwned-ingress by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1015
|
||||||
|
* Implemented HTTPS with Cert-Manager by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1021
|
||||||
|
* Updated default username from ubuntu to admin by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1023
|
||||||
|
* added --no-restart to the utility to vjbctl by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1024
|
||||||
|
* fixed count of selected vm by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1022
|
||||||
|
* Custom title on browser tab for each vjailbreak VM deployment by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1026
|
||||||
|
|
||||||
|
## New Contributors
|
||||||
|
* @meghansh-pf9 made their first contribution in https://github.com/platform9/vjailbreak/pull/958
|
||||||
|
|
||||||
|
**Full Changelog**: https://github.com/platform9/vjailbreak/compare/v0.3.4...v0.3.5
|
||||||
Reference in New Issue
Block a user