Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
16583b180f | ||
|
|
610dd94bb9 | ||
|
|
54158f60c9 |
+76
-197
@@ -460,6 +460,8 @@ spec:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
fallbackToDHCP:
|
||||
type: boolean
|
||||
firstBootScript:
|
||||
default: echo "Add your startup script here!"
|
||||
type: string
|
||||
@@ -520,11 +522,6 @@ spec:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
useFlavorless:
|
||||
description: |-
|
||||
UseFlavorless indicates if the migration should use flavorless VM creation for PCD.
|
||||
When true, TargetFlavorId for the VM should be set to a base flavor (e.g., a 0-0-x flavor).
|
||||
type: boolean
|
||||
virtualMachines:
|
||||
description: VirtualMachines is a list of virtual machines to be migrated
|
||||
items:
|
||||
@@ -550,6 +547,10 @@ 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
|
||||
@@ -630,11 +631,6 @@ spec:
|
||||
podRef:
|
||||
description: PodRef is the name of the pod
|
||||
type: string
|
||||
useFlavorless:
|
||||
description: |-
|
||||
UseFlavorless indicates if the migration should use flavorless VM creation for PCD.
|
||||
When true, TargetFlavorId in the Migrate object should be set to the base flavor.
|
||||
type: boolean
|
||||
vmName:
|
||||
description: VMName is the name of the VM getting migrated from VMWare
|
||||
to Openstack
|
||||
@@ -807,6 +803,10 @@ spec:
|
||||
description: TargetPCDClusterName is the name of the PCD cluster where
|
||||
the virtual machine will be migrated
|
||||
type: string
|
||||
useFlavorless:
|
||||
description: UseFlavorless indicates if the migration should use flavorless
|
||||
VM creation for PCD.
|
||||
type: boolean
|
||||
virtioWinDriver:
|
||||
description: VirtioWinDriver is the driver to be used for the virtual
|
||||
machine
|
||||
@@ -1043,6 +1043,9 @@ spec:
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
projectName:
|
||||
description: ProjectName is the name of the project in openstack
|
||||
type: string
|
||||
secretRef:
|
||||
description: SecretRef is the reference to the Kubernetes secret holding
|
||||
OpenStack credentials
|
||||
@@ -1346,7 +1349,7 @@ spec:
|
||||
- name: v1alpha1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: RDMDisk is the Schema for the rdmdisks API.
|
||||
description: RDMDisk is the Schema for the RDMDisks API.
|
||||
properties:
|
||||
apiVersion:
|
||||
description: |-
|
||||
@@ -1392,10 +1395,6 @@ spec:
|
||||
type: object
|
||||
volumeType:
|
||||
type: string
|
||||
required:
|
||||
- cinderBackendPool
|
||||
- source
|
||||
- volumeType
|
||||
type: object
|
||||
ownerVMs:
|
||||
items:
|
||||
@@ -1407,7 +1406,6 @@ spec:
|
||||
- diskName
|
||||
- diskSize
|
||||
- displayName
|
||||
- openstackVolumeRef
|
||||
- ownerVMs
|
||||
- uuid
|
||||
type: object
|
||||
@@ -1702,11 +1700,6 @@ spec:
|
||||
retry:
|
||||
description: Retry the migration if it fails
|
||||
type: boolean
|
||||
useFlavorless:
|
||||
description: |-
|
||||
UseFlavorless indicates if the migration should use flavorless VM creation for PCD.
|
||||
When true, TargetFlavorId for the VM should be set to a base flavor (e.g., a 0-0-x flavor).
|
||||
type: boolean
|
||||
vmMigrationPlans:
|
||||
description: VMMigrationPlans is the reference to the VM migration
|
||||
plan
|
||||
@@ -2184,6 +2177,9 @@ spec:
|
||||
type: string
|
||||
type: object
|
||||
x-kubernetes-map-type: atomic
|
||||
vcenterHost:
|
||||
description: VcenterHost is the vCenter host
|
||||
type: string
|
||||
required:
|
||||
- datacenter
|
||||
type: object
|
||||
@@ -2387,6 +2383,8 @@ spec:
|
||||
description: NIC represents a Virtual ethernet card in the virtual
|
||||
machine.
|
||||
properties:
|
||||
ipAddress:
|
||||
type: string
|
||||
mac:
|
||||
type: string
|
||||
network:
|
||||
@@ -2408,42 +2406,7 @@ spec:
|
||||
description: RDMDisks is the list of RDM disks for the virtual
|
||||
machine
|
||||
items:
|
||||
description: RDMDiskInfo contains information about a Raw Device
|
||||
Mapping (RDM) disk
|
||||
properties:
|
||||
diskName:
|
||||
description: DiskName is the name of the disk
|
||||
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: string
|
||||
type: array
|
||||
vmState:
|
||||
description: VMState is the state of the virtual machine
|
||||
@@ -2680,8 +2643,11 @@ rules:
|
||||
- ""
|
||||
resources:
|
||||
- configmaps
|
||||
- namespaces
|
||||
- pods
|
||||
- secrets
|
||||
- serviceaccounts
|
||||
- services
|
||||
verbs:
|
||||
- create
|
||||
- delete
|
||||
@@ -2707,6 +2673,13 @@ rules:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods/log
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
@@ -2751,6 +2724,33 @@ rules:
|
||||
- patch
|
||||
- update
|
||||
- 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:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
@@ -3627,6 +3627,23 @@ subjects:
|
||||
name: migration-controller-manager
|
||||
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
|
||||
kind: Service
|
||||
metadata:
|
||||
@@ -3641,145 +3658,6 @@ spec:
|
||||
app: vpwned-sdk
|
||||
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.3.2
|
||||
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
|
||||
readOnly: true
|
||||
dnsPolicy: ClusterFirstWithHostNet
|
||||
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.3.2
|
||||
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: {}
|
||||
serviceAccountName: migration-controller-manager
|
||||
terminationGracePeriodSeconds: 30
|
||||
volumes:
|
||||
- hostPath:
|
||||
path: /etc/hosts
|
||||
type: File
|
||||
name: hosts-file
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
@@ -3800,4 +3678,5 @@ spec:
|
||||
port:
|
||||
number: 80
|
||||
path: /dev-api/sdk/(.*)
|
||||
pathType: ImplementationSpecific
|
||||
pathType: ImplementationSpecific
|
||||
---
|
||||
@@ -20,6 +20,7 @@ spec:
|
||||
imagePullPolicy: IfNotPresent
|
||||
ports:
|
||||
- containerPort: 80
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
@@ -42,6 +43,8 @@ metadata:
|
||||
namespace: migration-system
|
||||
annotations:
|
||||
nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
|
||||
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
|
||||
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
||||
spec:
|
||||
ingressClassName: nginx
|
||||
rules:
|
||||
@@ -64,6 +67,8 @@ metadata:
|
||||
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
|
||||
nginx.ingress.kubernetes.io/rewrite-target: /$1
|
||||
nginx.ingress.kubernetes.io/use-regex: "true"
|
||||
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
|
||||
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
||||
spec:
|
||||
ingressClassName: nginx
|
||||
rules:
|
||||
|
||||
@@ -460,6 +460,8 @@ spec:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
fallbackToDHCP:
|
||||
type: boolean
|
||||
firstBootScript:
|
||||
default: echo "Add your startup script here!"
|
||||
type: string
|
||||
@@ -520,11 +522,6 @@ spec:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
useFlavorless:
|
||||
description: |-
|
||||
UseFlavorless indicates if the migration should use flavorless VM creation for PCD.
|
||||
When true, TargetFlavorId for the VM should be set to a base flavor (e.g., a 0-0-x flavor).
|
||||
type: boolean
|
||||
virtualMachines:
|
||||
description: VirtualMachines is a list of virtual machines to be migrated
|
||||
items:
|
||||
@@ -550,6 +547,10 @@ 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
|
||||
@@ -630,11 +631,6 @@ spec:
|
||||
podRef:
|
||||
description: PodRef is the name of the pod
|
||||
type: string
|
||||
useFlavorless:
|
||||
description: |-
|
||||
UseFlavorless indicates if the migration should use flavorless VM creation for PCD.
|
||||
When true, TargetFlavorId in the Migrate object should be set to the base flavor.
|
||||
type: boolean
|
||||
vmName:
|
||||
description: VMName is the name of the VM getting migrated from VMWare
|
||||
to Openstack
|
||||
@@ -807,6 +803,10 @@ spec:
|
||||
description: TargetPCDClusterName is the name of the PCD cluster where
|
||||
the virtual machine will be migrated
|
||||
type: string
|
||||
useFlavorless:
|
||||
description: UseFlavorless indicates if the migration should use flavorless
|
||||
VM creation for PCD.
|
||||
type: boolean
|
||||
virtioWinDriver:
|
||||
description: VirtioWinDriver is the driver to be used for the virtual
|
||||
machine
|
||||
@@ -1043,6 +1043,9 @@ spec:
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
projectName:
|
||||
description: ProjectName is the name of the project in openstack
|
||||
type: string
|
||||
secretRef:
|
||||
description: SecretRef is the reference to the Kubernetes secret holding
|
||||
OpenStack credentials
|
||||
@@ -1346,7 +1349,7 @@ spec:
|
||||
- name: v1alpha1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: RDMDisk is the Schema for the rdmdisks API.
|
||||
description: RDMDisk is the Schema for the RDMDisks API.
|
||||
properties:
|
||||
apiVersion:
|
||||
description: |-
|
||||
@@ -1392,10 +1395,6 @@ spec:
|
||||
type: object
|
||||
volumeType:
|
||||
type: string
|
||||
required:
|
||||
- cinderBackendPool
|
||||
- source
|
||||
- volumeType
|
||||
type: object
|
||||
ownerVMs:
|
||||
items:
|
||||
@@ -1407,7 +1406,6 @@ spec:
|
||||
- diskName
|
||||
- diskSize
|
||||
- displayName
|
||||
- openstackVolumeRef
|
||||
- ownerVMs
|
||||
- uuid
|
||||
type: object
|
||||
@@ -1702,11 +1700,6 @@ spec:
|
||||
retry:
|
||||
description: Retry the migration if it fails
|
||||
type: boolean
|
||||
useFlavorless:
|
||||
description: |-
|
||||
UseFlavorless indicates if the migration should use flavorless VM creation for PCD.
|
||||
When true, TargetFlavorId for the VM should be set to a base flavor (e.g., a 0-0-x flavor).
|
||||
type: boolean
|
||||
vmMigrationPlans:
|
||||
description: VMMigrationPlans is the reference to the VM migration
|
||||
plan
|
||||
@@ -2184,6 +2177,9 @@ spec:
|
||||
type: string
|
||||
type: object
|
||||
x-kubernetes-map-type: atomic
|
||||
vcenterHost:
|
||||
description: VcenterHost is the vCenter host
|
||||
type: string
|
||||
required:
|
||||
- datacenter
|
||||
type: object
|
||||
@@ -2387,6 +2383,8 @@ spec:
|
||||
description: NIC represents a Virtual ethernet card in the virtual
|
||||
machine.
|
||||
properties:
|
||||
ipAddress:
|
||||
type: string
|
||||
mac:
|
||||
type: string
|
||||
network:
|
||||
@@ -2408,42 +2406,7 @@ spec:
|
||||
description: RDMDisks is the list of RDM disks for the virtual
|
||||
machine
|
||||
items:
|
||||
description: RDMDiskInfo contains information about a Raw Device
|
||||
Mapping (RDM) disk
|
||||
properties:
|
||||
diskName:
|
||||
description: DiskName is the name of the disk
|
||||
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: string
|
||||
type: array
|
||||
vmState:
|
||||
description: VMState is the state of the virtual machine
|
||||
@@ -2680,8 +2643,11 @@ rules:
|
||||
- ""
|
||||
resources:
|
||||
- configmaps
|
||||
- namespaces
|
||||
- pods
|
||||
- secrets
|
||||
- serviceaccounts
|
||||
- services
|
||||
verbs:
|
||||
- create
|
||||
- delete
|
||||
@@ -2707,6 +2673,13 @@ rules:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods/log
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
@@ -2751,6 +2724,33 @@ rules:
|
||||
- patch
|
||||
- update
|
||||
- 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:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
@@ -3627,6 +3627,23 @@ subjects:
|
||||
name: migration-controller-manager
|
||||
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
|
||||
kind: Service
|
||||
metadata:
|
||||
@@ -3641,6 +3658,150 @@ spec:
|
||||
app: vpwned-sdk
|
||||
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
|
||||
strategy:
|
||||
type: Recreate
|
||||
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
|
||||
env:
|
||||
- name: MAX_CONCURRENT_RECONCILES
|
||||
value: "5"
|
||||
image: quay.io/platform9/vjailbreak-controller:v0.3.5
|
||||
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
|
||||
readOnly: true
|
||||
dnsPolicy: ClusterFirstWithHostNet
|
||||
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.3.5
|
||||
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: {}
|
||||
serviceAccountName: migration-controller-manager
|
||||
terminationGracePeriodSeconds: 30
|
||||
volumes:
|
||||
- hostPath:
|
||||
path: /etc/hosts
|
||||
type: File
|
||||
name: hosts-file
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
@@ -3662,4 +3823,3 @@ spec:
|
||||
number: 80
|
||||
path: /dev-api/sdk/(.*)
|
||||
pathType: ImplementationSpecific
|
||||
---
|
||||
@@ -103,8 +103,8 @@ spec:
|
||||
echo "Syncing from rsync://${MASTER_IP}"
|
||||
rsync -avz rsync://${MASTER_IP}/vmwarelib/ /home/ubuntu/vmware-vix-disklib-distrib/
|
||||
|
||||
# Sync logs from worker to master (with delete flag to sync deletions too)
|
||||
rsync -avz --delete /var/log/pf9 rsync://${MASTER_IP}/worker-logs
|
||||
# Sync logs from worker to master
|
||||
rsync -avz /var/log/pf9 rsync://${MASTER_IP}/worker-logs
|
||||
|
||||
# Sync virtio-win drivers from master to worker
|
||||
rsync -avz rsync://${MASTER_IP}/virtio-win /home/ubuntu/virtio-win
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
export IS_MASTER=true
|
||||
export MASTER_IP=
|
||||
export K3S_TOKEN=
|
||||
export K3S_TOKEN=
|
||||
export INSTALL_K3S_EXEC="server --secrets-encryption"
|
||||
@@ -10,4 +10,10 @@ data:
|
||||
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
|
||||
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,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