Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
16583b180f | ||
|
|
610dd94bb9 |
+69
-181
@@ -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
|
||||||
@@ -545,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
|
||||||
@@ -1037,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
|
||||||
@@ -1340,7 +1349,7 @@ spec:
|
|||||||
- name: v1alpha1
|
- name: v1alpha1
|
||||||
schema:
|
schema:
|
||||||
openAPIV3Schema:
|
openAPIV3Schema:
|
||||||
description: RDMDisk is the Schema for the rdmdisks API.
|
description: RDMDisk is the Schema for the RDMDisks API.
|
||||||
properties:
|
properties:
|
||||||
apiVersion:
|
apiVersion:
|
||||||
description: |-
|
description: |-
|
||||||
@@ -1386,10 +1395,6 @@ spec:
|
|||||||
type: object
|
type: object
|
||||||
volumeType:
|
volumeType:
|
||||||
type: string
|
type: string
|
||||||
required:
|
|
||||||
- cinderBackendPool
|
|
||||||
- source
|
|
||||||
- volumeType
|
|
||||||
type: object
|
type: object
|
||||||
ownerVMs:
|
ownerVMs:
|
||||||
items:
|
items:
|
||||||
@@ -1401,7 +1406,6 @@ spec:
|
|||||||
- diskName
|
- diskName
|
||||||
- diskSize
|
- diskSize
|
||||||
- displayName
|
- displayName
|
||||||
- openstackVolumeRef
|
|
||||||
- ownerVMs
|
- ownerVMs
|
||||||
- uuid
|
- uuid
|
||||||
type: object
|
type: object
|
||||||
@@ -2173,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
|
||||||
@@ -2399,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
|
type: string
|
||||||
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: array
|
type: array
|
||||||
vmState:
|
vmState:
|
||||||
description: VMState is the state of the virtual machine
|
description: VMState is the state of the virtual machine
|
||||||
@@ -2671,8 +2643,11 @@ rules:
|
|||||||
- ""
|
- ""
|
||||||
resources:
|
resources:
|
||||||
- configmaps
|
- configmaps
|
||||||
|
- namespaces
|
||||||
- pods
|
- pods
|
||||||
- secrets
|
- secrets
|
||||||
|
- serviceaccounts
|
||||||
|
- services
|
||||||
verbs:
|
verbs:
|
||||||
- create
|
- create
|
||||||
- delete
|
- delete
|
||||||
@@ -2698,6 +2673,13 @@ rules:
|
|||||||
- get
|
- get
|
||||||
- list
|
- list
|
||||||
- watch
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- pods/log
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- ""
|
- ""
|
||||||
resources:
|
resources:
|
||||||
@@ -2742,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:
|
||||||
@@ -3618,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:
|
||||||
@@ -3632,145 +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.3.3
|
|
||||||
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.3
|
|
||||||
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
|
apiVersion: networking.k8s.io/v1
|
||||||
kind: Ingress
|
kind: Ingress
|
||||||
metadata:
|
metadata:
|
||||||
@@ -3792,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:
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -545,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
|
||||||
@@ -1037,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
|
||||||
@@ -1340,7 +1349,7 @@ spec:
|
|||||||
- name: v1alpha1
|
- name: v1alpha1
|
||||||
schema:
|
schema:
|
||||||
openAPIV3Schema:
|
openAPIV3Schema:
|
||||||
description: RDMDisk is the Schema for the rdmdisks API.
|
description: RDMDisk is the Schema for the RDMDisks API.
|
||||||
properties:
|
properties:
|
||||||
apiVersion:
|
apiVersion:
|
||||||
description: |-
|
description: |-
|
||||||
@@ -1386,10 +1395,6 @@ spec:
|
|||||||
type: object
|
type: object
|
||||||
volumeType:
|
volumeType:
|
||||||
type: string
|
type: string
|
||||||
required:
|
|
||||||
- cinderBackendPool
|
|
||||||
- source
|
|
||||||
- volumeType
|
|
||||||
type: object
|
type: object
|
||||||
ownerVMs:
|
ownerVMs:
|
||||||
items:
|
items:
|
||||||
@@ -1401,7 +1406,6 @@ spec:
|
|||||||
- diskName
|
- diskName
|
||||||
- diskSize
|
- diskSize
|
||||||
- displayName
|
- displayName
|
||||||
- openstackVolumeRef
|
|
||||||
- ownerVMs
|
- ownerVMs
|
||||||
- uuid
|
- uuid
|
||||||
type: object
|
type: object
|
||||||
@@ -2173,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
|
||||||
@@ -2399,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
|
type: string
|
||||||
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: array
|
type: array
|
||||||
vmState:
|
vmState:
|
||||||
description: VMState is the state of the virtual machine
|
description: VMState is the state of the virtual machine
|
||||||
@@ -2671,8 +2643,11 @@ rules:
|
|||||||
- ""
|
- ""
|
||||||
resources:
|
resources:
|
||||||
- configmaps
|
- configmaps
|
||||||
|
- namespaces
|
||||||
- pods
|
- pods
|
||||||
- secrets
|
- secrets
|
||||||
|
- serviceaccounts
|
||||||
|
- services
|
||||||
verbs:
|
verbs:
|
||||||
- create
|
- create
|
||||||
- delete
|
- delete
|
||||||
@@ -2698,6 +2673,13 @@ rules:
|
|||||||
- get
|
- get
|
||||||
- list
|
- list
|
||||||
- watch
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- pods/log
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- ""
|
- ""
|
||||||
resources:
|
resources:
|
||||||
@@ -2742,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:
|
||||||
@@ -3618,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:
|
||||||
@@ -3632,6 +3658,150 @@ 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
|
||||||
|
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
|
apiVersion: networking.k8s.io/v1
|
||||||
kind: Ingress
|
kind: Ingress
|
||||||
metadata:
|
metadata:
|
||||||
@@ -3653,4 +3823,3 @@ spec:
|
|||||||
number: 80
|
number: 80
|
||||||
path: /dev-api/sdk/(.*)
|
path: /dev-api/sdk/(.*)
|
||||||
pathType: ImplementationSpecific
|
pathType: ImplementationSpecific
|
||||||
---
|
|
||||||
@@ -103,8 +103,8 @@ spec:
|
|||||||
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 (with delete flag to sync deletions too)
|
# Sync logs from worker to master
|
||||||
rsync -avz --delete /var/log/pf9 rsync://${MASTER_IP}/worker-logs
|
rsync -avz /var/log/pf9 rsync://${MASTER_IP}/worker-logs
|
||||||
|
|
||||||
# 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"
|
||||||
@@ -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)
|
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
|
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
|
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,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