Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
47983006c0 | ||
|
|
b1a4209926 | ||
|
|
8d140beca7 |
+446
-6
@@ -9,6 +9,295 @@ metadata:
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.17.1
|
||||
name: arraycreds.vjailbreak.k8s.pf9.io
|
||||
spec:
|
||||
group: vjailbreak.k8s.pf9.io
|
||||
names:
|
||||
kind: ArrayCreds
|
||||
listKind: ArrayCredsList
|
||||
plural: arraycreds
|
||||
singular: arraycreds
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- additionalPrinterColumns:
|
||||
- jsonPath: .spec.vendorType
|
||||
name: Vendor
|
||||
type: string
|
||||
- jsonPath: .spec.openstackMapping.volumeType
|
||||
name: VolumeType
|
||||
type: string
|
||||
- jsonPath: .spec.openstackMapping.cinderBackendName
|
||||
name: Backend
|
||||
type: string
|
||||
- jsonPath: .status.phase
|
||||
name: Phase
|
||||
type: string
|
||||
- jsonPath: .status.arrayValidationStatus
|
||||
name: Status
|
||||
type: string
|
||||
name: v1alpha1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: |-
|
||||
ArrayCreds is the Schema for the storage array credentials API that defines authentication
|
||||
and connection details for storage arrays. It provides a secure way to store and validate
|
||||
storage array credentials for use in migration operations, supporting multiple vendors, but as of now
|
||||
We have qualified pure storage flash array.
|
||||
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: ArrayCredsSpec defines the desired state of ArrayCreds
|
||||
properties:
|
||||
autoDiscovered:
|
||||
description: AutoDiscovered indicates if this ArrayCreds was auto-discovered
|
||||
from OpenStack
|
||||
type: boolean
|
||||
openstackMapping:
|
||||
description: OpenStackMapping is the openstack mapping for this array
|
||||
properties:
|
||||
cinderBackendName:
|
||||
description: |-
|
||||
CinderBackendName is the Cinder backend name for this mapping
|
||||
This is the backend configured in cinder.conf (e.g., "pure-01")
|
||||
type: string
|
||||
cinderBackendPool:
|
||||
description: CinderBackendPool is the pool name within the backend
|
||||
(optional)
|
||||
type: string
|
||||
cinderHost:
|
||||
description: |-
|
||||
CinderHost is the full Cinder host string for manage API
|
||||
Format: hostname@backend or hostname@backend#pool (e.g., "pcd-ce@pure-iscsi-1#vt-pure-iscsi")
|
||||
type: string
|
||||
volumeType:
|
||||
description: VolumeType is the Cinder volume type associated with
|
||||
this mapping
|
||||
type: string
|
||||
required:
|
||||
- cinderBackendName
|
||||
- volumeType
|
||||
type: object
|
||||
secretRef:
|
||||
description: SecretRef is the reference to the Kubernetes secret holding
|
||||
storage array credentials
|
||||
properties:
|
||||
apiVersion:
|
||||
description: API version of the referent.
|
||||
type: string
|
||||
fieldPath:
|
||||
description: |-
|
||||
If referring to a piece of an object instead of an entire object, this string
|
||||
should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
|
||||
For example, if the object reference is to a container within a pod, this would take on a value like:
|
||||
"spec.containers{name}" (where "name" refers to the name of the container that triggered
|
||||
the event) or if no container name is specified "spec.containers[2]" (container with
|
||||
index 2 in this pod). This syntax is chosen only to have some well-defined way of
|
||||
referencing a part of an object.
|
||||
type: string
|
||||
kind:
|
||||
description: |-
|
||||
Kind of the referent.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||||
type: string
|
||||
name:
|
||||
description: |-
|
||||
Name of the referent.
|
||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
type: string
|
||||
namespace:
|
||||
description: |-
|
||||
Namespace of the referent.
|
||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
|
||||
type: string
|
||||
resourceVersion:
|
||||
description: |-
|
||||
Specific resourceVersion to which this reference is made, if any.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
|
||||
type: string
|
||||
uid:
|
||||
description: |-
|
||||
UID of the referent.
|
||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
|
||||
type: string
|
||||
type: object
|
||||
x-kubernetes-map-type: atomic
|
||||
vendorType:
|
||||
description: VendorType is the storage array vendor type (e.g., pure,
|
||||
ontap, hpalletra)
|
||||
type: string
|
||||
required:
|
||||
- vendorType
|
||||
type: object
|
||||
status:
|
||||
description: ArrayCredsStatus defines the observed state of ArrayCreds
|
||||
properties:
|
||||
arrayValidationMessage:
|
||||
description: ArrayValidationMessage is the message associated with
|
||||
the storage array validation
|
||||
type: string
|
||||
arrayValidationStatus:
|
||||
description: |-
|
||||
ArrayValidationStatus is the status of the storage array validation
|
||||
Possible values: Pending, Succeeded, Failed, AwaitingCredentials
|
||||
type: string
|
||||
dataStore:
|
||||
description: DataStore is the list of datastores associated with this
|
||||
array
|
||||
items:
|
||||
description: DatastoreInfo holds datastore information including
|
||||
backing device NAA
|
||||
properties:
|
||||
backingNAA:
|
||||
type: string
|
||||
backingUUID:
|
||||
type: string
|
||||
capacity:
|
||||
format: int64
|
||||
type: integer
|
||||
freeSpace:
|
||||
format: int64
|
||||
type: integer
|
||||
moID:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
type:
|
||||
type: string
|
||||
required:
|
||||
- backingNAA
|
||||
- backingUUID
|
||||
- capacity
|
||||
- freeSpace
|
||||
- moID
|
||||
- name
|
||||
- type
|
||||
type: object
|
||||
type: array
|
||||
phase:
|
||||
description: |-
|
||||
Phase indicates the current phase of the ArrayCreds
|
||||
Possible values: Discovered, Configured, Validated, Failed
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
||||
subresources:
|
||||
status: {}
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.17.1
|
||||
name: arraycredsmappings.vjailbreak.k8s.pf9.io
|
||||
spec:
|
||||
group: vjailbreak.k8s.pf9.io
|
||||
names:
|
||||
kind: ArrayCredsMapping
|
||||
listKind: ArrayCredsMappingList
|
||||
plural: arraycredsmappings
|
||||
singular: arraycredsmapping
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- additionalPrinterColumns:
|
||||
- jsonPath: .status.validationStatus
|
||||
name: Status
|
||||
type: string
|
||||
- jsonPath: .metadata.creationTimestamp
|
||||
name: Age
|
||||
type: date
|
||||
name: v1alpha1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: |-
|
||||
ArrayCredsMapping is the Schema for the arraycredsmappings API that defines
|
||||
mappings between VMware datastores and ArrayCreds for StorageAcceleratedCopy storage migration
|
||||
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: |-
|
||||
ArrayCredsMappingSpec defines the desired state of ArrayCredsMapping including
|
||||
mappings between VMware datastores and ArrayCreds for StorageAcceleratedCopy data copy
|
||||
properties:
|
||||
mappings:
|
||||
description: Mappings is a list of datastore to ArrayCreds mappings
|
||||
items:
|
||||
description: DatastoreArrayCredsMapping represents a mapping between
|
||||
a VMware datastore and ArrayCreds
|
||||
properties:
|
||||
source:
|
||||
description: Source is the name of the source datastore in VMware
|
||||
type: string
|
||||
target:
|
||||
description: Target is the name of the ArrayCreds resource to
|
||||
use for this datastore
|
||||
type: string
|
||||
required:
|
||||
- source
|
||||
- target
|
||||
type: object
|
||||
type: array
|
||||
required:
|
||||
- mappings
|
||||
type: object
|
||||
status:
|
||||
description: ArrayCredsMappingStatus defines the observed state of ArrayCredsMapping
|
||||
properties:
|
||||
validationMessage:
|
||||
description: |-
|
||||
ValidationMessage provides detailed validation information including
|
||||
information about available ArrayCreds and any validation errors
|
||||
type: string
|
||||
validationStatus:
|
||||
description: |-
|
||||
ValidationStatus indicates the validation status of the ArrayCreds mapping
|
||||
Valid states include: "Valid", "Invalid", "Pending", "ValidationFailed"
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
||||
subresources:
|
||||
status: {}
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.17.1
|
||||
@@ -459,6 +748,10 @@ spec:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
networkPersistence:
|
||||
description: NetworkPersistence instructs the migration helper
|
||||
to persist the source networking configuration
|
||||
type: boolean
|
||||
periodicSyncEnabled:
|
||||
description: PeriodicSyncEnabled is a boolean to enable periodic
|
||||
sync
|
||||
@@ -487,6 +780,9 @@ spec:
|
||||
adminInitiatedCutOver:
|
||||
default: false
|
||||
type: boolean
|
||||
arrayOffload:
|
||||
default: false
|
||||
type: boolean
|
||||
dataCopyStart:
|
||||
format: date-time
|
||||
type: string
|
||||
@@ -534,6 +830,8 @@ spec:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
serverGroup:
|
||||
type: string
|
||||
virtualMachines:
|
||||
description: VirtualMachines is a list of virtual machines to be migrated
|
||||
items:
|
||||
@@ -641,6 +939,13 @@ spec:
|
||||
migrationPlan:
|
||||
description: MigrationPlan is the name of the migration plan
|
||||
type: string
|
||||
migrationType:
|
||||
description: MigrationType indicates whether this is a hot (live)
|
||||
or cold migration
|
||||
enum:
|
||||
- hot
|
||||
- cold
|
||||
type: string
|
||||
podRef:
|
||||
description: PodRef is the name of the pod
|
||||
type: string
|
||||
@@ -707,11 +1012,17 @@ spec:
|
||||
- type
|
||||
type: object
|
||||
type: array
|
||||
currentDisk:
|
||||
description: |-
|
||||
CurrentDisk tracks which disk is currently being copied (e.g., "0", "1")
|
||||
Extracted from migration pod events
|
||||
type: string
|
||||
phase:
|
||||
description: Phase is the current phase of the migration
|
||||
enum:
|
||||
- Pending
|
||||
- Validating
|
||||
- ValidationFailed
|
||||
- AwaitingDataCopyStart
|
||||
- CopyingBlocks
|
||||
- CopyingChangedBlocks
|
||||
@@ -721,7 +1032,23 @@ spec:
|
||||
- Succeeded
|
||||
- Failed
|
||||
- Unknown
|
||||
- ConnectingToESXi
|
||||
- CreatingInitiatorGroup
|
||||
- CreatingVolume
|
||||
- ImportingToCinder
|
||||
- MappingVolume
|
||||
- RescanningStorage
|
||||
- XCOPYInProgress
|
||||
type: string
|
||||
retryable:
|
||||
description: |-
|
||||
Retryable indicates whether this migration can be retried when it fails.
|
||||
Set to false for VMs with RDM (Raw Device Mapping) disks that share storage,
|
||||
as RDM disk migration state prevents automatic retry.
|
||||
type: boolean
|
||||
totalDisks:
|
||||
description: TotalDisks is the total number of disks to be migrated
|
||||
type: integer
|
||||
required:
|
||||
- phase
|
||||
type: object
|
||||
@@ -777,6 +1104,11 @@ spec:
|
||||
description: MigrationTemplateSpec defines the desired state of MigrationTemplate
|
||||
including source/destination environments and mappings
|
||||
properties:
|
||||
arrayCredsMapping:
|
||||
description: |-
|
||||
ArrayCredsMapping is the reference to the ArrayCredsMapping resource that defines datastore to ArrayCreds mappings
|
||||
This is used for StorageAcceleratedCopy data copy method
|
||||
type: string
|
||||
destination:
|
||||
description: Destination is the destination details for the virtual
|
||||
machine
|
||||
@@ -808,9 +1140,19 @@ spec:
|
||||
required:
|
||||
- vmwareRef
|
||||
type: object
|
||||
storageCopyMethod:
|
||||
default: normal
|
||||
description: |-
|
||||
StorageCopyMethod indicates the method to use for storage migration
|
||||
Valid values: "normal" (default), "StorageAcceleratedCopy"
|
||||
enum:
|
||||
- normal
|
||||
- StorageAcceleratedCopy
|
||||
type: string
|
||||
storageMapping:
|
||||
description: StorageMapping is the reference to the StorageMapping
|
||||
resource that defines source to destination storage mappings
|
||||
description: |-
|
||||
StorageMapping is the reference to the StorageMapping resource that defines source to destination storage mappings
|
||||
This is used for normal data copy method
|
||||
type: string
|
||||
targetPCDClusterName:
|
||||
description: TargetPCDClusterName is the name of the PCD cluster where
|
||||
@@ -820,6 +1162,10 @@ spec:
|
||||
description: UseFlavorless indicates if the migration should use flavorless
|
||||
VM creation for PCD.
|
||||
type: boolean
|
||||
useGPUFlavor:
|
||||
description: UseGPUFlavor indicates if the migration should filter
|
||||
and use GPU-enabled flavors.
|
||||
type: boolean
|
||||
virtioWinDriver:
|
||||
description: VirtioWinDriver is the driver to be used for the virtual
|
||||
machine
|
||||
@@ -828,7 +1174,6 @@ spec:
|
||||
- destination
|
||||
- networkMapping
|
||||
- source
|
||||
- storageMapping
|
||||
type: object
|
||||
type: object
|
||||
served: true
|
||||
@@ -996,6 +1341,15 @@ spec:
|
||||
disk:
|
||||
description: Disk is the amount of root disk, measured in GB.
|
||||
type: integer
|
||||
extra_specs:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: |-
|
||||
Properties is a dictionary of the flavor’s extra-specs key-and-value
|
||||
pairs. This will only be included if the user is allowed by policy to
|
||||
index flavor extra_specs
|
||||
New in version 2.61
|
||||
type: object
|
||||
id:
|
||||
description: ID is the flavor's unique ID.
|
||||
type: string
|
||||
@@ -1020,6 +1374,7 @@ spec:
|
||||
- OS-FLV-EXT-DATA:ephemeral
|
||||
- description
|
||||
- disk
|
||||
- extra_specs
|
||||
- id
|
||||
- name
|
||||
- os-flavor-access:is_public
|
||||
@@ -1028,6 +1383,22 @@ spec:
|
||||
- vcpus
|
||||
type: object
|
||||
type: array
|
||||
osAuthToken:
|
||||
type: string
|
||||
osAuthUrl:
|
||||
type: string
|
||||
osDomainName:
|
||||
type: string
|
||||
osInsecure:
|
||||
type: boolean
|
||||
osPassword:
|
||||
type: string
|
||||
osRegionName:
|
||||
type: string
|
||||
osTenantName:
|
||||
type: string
|
||||
osUsername:
|
||||
type: string
|
||||
pcdHostConfig:
|
||||
description: PCDHostConfig is the list of available clusters in openstack
|
||||
items:
|
||||
@@ -1131,6 +1502,25 @@ spec:
|
||||
- requiresIdDisplay
|
||||
type: object
|
||||
type: array
|
||||
serverGroups:
|
||||
items:
|
||||
description: ServerGroupInfo holds the server group name, ID,
|
||||
and policy information
|
||||
properties:
|
||||
id:
|
||||
type: string
|
||||
members:
|
||||
type: integer
|
||||
name:
|
||||
type: string
|
||||
policy:
|
||||
type: string
|
||||
required:
|
||||
- id
|
||||
- name
|
||||
- policy
|
||||
type: object
|
||||
type: array
|
||||
volumeBackends:
|
||||
items:
|
||||
type: string
|
||||
@@ -1561,6 +1951,10 @@ spec:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
networkPersistence:
|
||||
description: NetworkPersistence instructs the migration helper
|
||||
to persist the source networking configuration
|
||||
type: boolean
|
||||
periodicSyncEnabled:
|
||||
description: PeriodicSyncEnabled is a boolean to enable periodic
|
||||
sync
|
||||
@@ -1675,6 +2069,9 @@ spec:
|
||||
adminInitiatedCutOver:
|
||||
default: false
|
||||
type: boolean
|
||||
arrayOffload:
|
||||
default: false
|
||||
type: boolean
|
||||
dataCopyStart:
|
||||
format: date-time
|
||||
type: string
|
||||
@@ -1998,6 +2395,18 @@ spec:
|
||||
openstackImageID:
|
||||
description: OpenstackImageID is the image of the VM
|
||||
type: string
|
||||
openstackSecurityGroups:
|
||||
description: |-
|
||||
OpenstackSecurityGroups is the list of security groups for the VM
|
||||
If empty, the security groups will be determined from the master node
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
openstackVolumeType:
|
||||
description: |-
|
||||
OpenstackVolumeType is the volume type for the root disk of the VM
|
||||
If empty, the volume type will be determined from the master node
|
||||
type: string
|
||||
required:
|
||||
- nodeRole
|
||||
- openstackCreds
|
||||
@@ -2198,8 +2607,6 @@ spec:
|
||||
vcenterHost:
|
||||
description: VcenterHost is the vCenter host
|
||||
type: string
|
||||
required:
|
||||
- datacenter
|
||||
type: object
|
||||
status:
|
||||
description: VMwareCredsStatus defines the observed state of VMwareCreds
|
||||
@@ -2356,11 +2763,35 @@ spec:
|
||||
disks:
|
||||
description: Disks is the list of disks for the virtual machine
|
||||
items:
|
||||
type: string
|
||||
description: Disk represents a virtual disk attached to a virtual
|
||||
machine
|
||||
properties:
|
||||
capacityGB:
|
||||
type: integer
|
||||
datastore:
|
||||
type: string
|
||||
datastoreId:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
esxiName:
|
||||
description: ESXiName is the name of the ESXi host
|
||||
type: string
|
||||
gpu:
|
||||
description: GPU contains information about GPU devices attached
|
||||
to the VM
|
||||
properties:
|
||||
passthroughCount:
|
||||
description: PassthroughCount is the number of PCI passthrough
|
||||
GPU devices
|
||||
type: integer
|
||||
vgpuCount:
|
||||
description: VGPUCount is the number of vGPU (shared GPU)
|
||||
devices
|
||||
type: integer
|
||||
type: object
|
||||
guestNetworks:
|
||||
description: GuestNetworks is the list of network interfaces for
|
||||
the virtual machine as reported by the guest
|
||||
@@ -2773,6 +3204,7 @@ rules:
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- arraycreds
|
||||
- bmconfigs
|
||||
- clustermigrations
|
||||
- esximigrations
|
||||
@@ -2802,6 +3234,7 @@ rules:
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- arraycreds/finalizers
|
||||
- bmconfigs/finalizers
|
||||
- clustermigrations/finalizers
|
||||
- esximigrations/finalizers
|
||||
@@ -2821,6 +3254,7 @@ rules:
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- arraycreds/status
|
||||
- bmconfigs/status
|
||||
- clustermigrations/status
|
||||
- esximigrations/status
|
||||
@@ -3682,6 +4116,12 @@ kind: Ingress
|
||||
metadata:
|
||||
annotations:
|
||||
nginx.ingress.kubernetes.io/backend-protocol: HTTP
|
||||
nginx.ingress.kubernetes.io/proxy-body-size: 500m
|
||||
nginx.ingress.kubernetes.io/proxy-buffering: "off"
|
||||
nginx.ingress.kubernetes.io/proxy-connect-timeout: "600"
|
||||
nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
|
||||
nginx.ingress.kubernetes.io/proxy-request-buffering: "off"
|
||||
nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
|
||||
nginx.ingress.kubernetes.io/rewrite-target: /$1
|
||||
nginx.ingress.kubernetes.io/use-regex: "true"
|
||||
name: migration-vpwned-ingress
|
||||
|
||||
@@ -45,6 +45,12 @@ metadata:
|
||||
nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
|
||||
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
|
||||
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
||||
nginx.ingress.kubernetes.io/proxy-body-size: "500m"
|
||||
nginx.ingress.kubernetes.io/proxy-connect-timeout: "600"
|
||||
nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
|
||||
nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
|
||||
nginx.ingress.kubernetes.io/proxy-buffering: "off"
|
||||
nginx.ingress.kubernetes.io/proxy-request-buffering: "off"
|
||||
spec:
|
||||
ingressClassName: nginx
|
||||
rules:
|
||||
|
||||
+454
-8
@@ -9,6 +9,295 @@ metadata:
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.17.1
|
||||
name: arraycreds.vjailbreak.k8s.pf9.io
|
||||
spec:
|
||||
group: vjailbreak.k8s.pf9.io
|
||||
names:
|
||||
kind: ArrayCreds
|
||||
listKind: ArrayCredsList
|
||||
plural: arraycreds
|
||||
singular: arraycreds
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- additionalPrinterColumns:
|
||||
- jsonPath: .spec.vendorType
|
||||
name: Vendor
|
||||
type: string
|
||||
- jsonPath: .spec.openstackMapping.volumeType
|
||||
name: VolumeType
|
||||
type: string
|
||||
- jsonPath: .spec.openstackMapping.cinderBackendName
|
||||
name: Backend
|
||||
type: string
|
||||
- jsonPath: .status.phase
|
||||
name: Phase
|
||||
type: string
|
||||
- jsonPath: .status.arrayValidationStatus
|
||||
name: Status
|
||||
type: string
|
||||
name: v1alpha1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: |-
|
||||
ArrayCreds is the Schema for the storage array credentials API that defines authentication
|
||||
and connection details for storage arrays. It provides a secure way to store and validate
|
||||
storage array credentials for use in migration operations, supporting multiple vendors, but as of now
|
||||
We have qualified pure storage flash array.
|
||||
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: ArrayCredsSpec defines the desired state of ArrayCreds
|
||||
properties:
|
||||
autoDiscovered:
|
||||
description: AutoDiscovered indicates if this ArrayCreds was auto-discovered
|
||||
from OpenStack
|
||||
type: boolean
|
||||
openstackMapping:
|
||||
description: OpenStackMapping is the openstack mapping for this array
|
||||
properties:
|
||||
cinderBackendName:
|
||||
description: |-
|
||||
CinderBackendName is the Cinder backend name for this mapping
|
||||
This is the backend configured in cinder.conf (e.g., "pure-01")
|
||||
type: string
|
||||
cinderBackendPool:
|
||||
description: CinderBackendPool is the pool name within the backend
|
||||
(optional)
|
||||
type: string
|
||||
cinderHost:
|
||||
description: |-
|
||||
CinderHost is the full Cinder host string for manage API
|
||||
Format: hostname@backend or hostname@backend#pool (e.g., "pcd-ce@pure-iscsi-1#vt-pure-iscsi")
|
||||
type: string
|
||||
volumeType:
|
||||
description: VolumeType is the Cinder volume type associated with
|
||||
this mapping
|
||||
type: string
|
||||
required:
|
||||
- cinderBackendName
|
||||
- volumeType
|
||||
type: object
|
||||
secretRef:
|
||||
description: SecretRef is the reference to the Kubernetes secret holding
|
||||
storage array credentials
|
||||
properties:
|
||||
apiVersion:
|
||||
description: API version of the referent.
|
||||
type: string
|
||||
fieldPath:
|
||||
description: |-
|
||||
If referring to a piece of an object instead of an entire object, this string
|
||||
should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
|
||||
For example, if the object reference is to a container within a pod, this would take on a value like:
|
||||
"spec.containers{name}" (where "name" refers to the name of the container that triggered
|
||||
the event) or if no container name is specified "spec.containers[2]" (container with
|
||||
index 2 in this pod). This syntax is chosen only to have some well-defined way of
|
||||
referencing a part of an object.
|
||||
type: string
|
||||
kind:
|
||||
description: |-
|
||||
Kind of the referent.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||||
type: string
|
||||
name:
|
||||
description: |-
|
||||
Name of the referent.
|
||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
type: string
|
||||
namespace:
|
||||
description: |-
|
||||
Namespace of the referent.
|
||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
|
||||
type: string
|
||||
resourceVersion:
|
||||
description: |-
|
||||
Specific resourceVersion to which this reference is made, if any.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
|
||||
type: string
|
||||
uid:
|
||||
description: |-
|
||||
UID of the referent.
|
||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
|
||||
type: string
|
||||
type: object
|
||||
x-kubernetes-map-type: atomic
|
||||
vendorType:
|
||||
description: VendorType is the storage array vendor type (e.g., pure,
|
||||
ontap, hpalletra)
|
||||
type: string
|
||||
required:
|
||||
- vendorType
|
||||
type: object
|
||||
status:
|
||||
description: ArrayCredsStatus defines the observed state of ArrayCreds
|
||||
properties:
|
||||
arrayValidationMessage:
|
||||
description: ArrayValidationMessage is the message associated with
|
||||
the storage array validation
|
||||
type: string
|
||||
arrayValidationStatus:
|
||||
description: |-
|
||||
ArrayValidationStatus is the status of the storage array validation
|
||||
Possible values: Pending, Succeeded, Failed, AwaitingCredentials
|
||||
type: string
|
||||
dataStore:
|
||||
description: DataStore is the list of datastores associated with this
|
||||
array
|
||||
items:
|
||||
description: DatastoreInfo holds datastore information including
|
||||
backing device NAA
|
||||
properties:
|
||||
backingNAA:
|
||||
type: string
|
||||
backingUUID:
|
||||
type: string
|
||||
capacity:
|
||||
format: int64
|
||||
type: integer
|
||||
freeSpace:
|
||||
format: int64
|
||||
type: integer
|
||||
moID:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
type:
|
||||
type: string
|
||||
required:
|
||||
- backingNAA
|
||||
- backingUUID
|
||||
- capacity
|
||||
- freeSpace
|
||||
- moID
|
||||
- name
|
||||
- type
|
||||
type: object
|
||||
type: array
|
||||
phase:
|
||||
description: |-
|
||||
Phase indicates the current phase of the ArrayCreds
|
||||
Possible values: Discovered, Configured, Validated, Failed
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
||||
subresources:
|
||||
status: {}
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.17.1
|
||||
name: arraycredsmappings.vjailbreak.k8s.pf9.io
|
||||
spec:
|
||||
group: vjailbreak.k8s.pf9.io
|
||||
names:
|
||||
kind: ArrayCredsMapping
|
||||
listKind: ArrayCredsMappingList
|
||||
plural: arraycredsmappings
|
||||
singular: arraycredsmapping
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- additionalPrinterColumns:
|
||||
- jsonPath: .status.validationStatus
|
||||
name: Status
|
||||
type: string
|
||||
- jsonPath: .metadata.creationTimestamp
|
||||
name: Age
|
||||
type: date
|
||||
name: v1alpha1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: |-
|
||||
ArrayCredsMapping is the Schema for the arraycredsmappings API that defines
|
||||
mappings between VMware datastores and ArrayCreds for StorageAcceleratedCopy storage migration
|
||||
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: |-
|
||||
ArrayCredsMappingSpec defines the desired state of ArrayCredsMapping including
|
||||
mappings between VMware datastores and ArrayCreds for StorageAcceleratedCopy data copy
|
||||
properties:
|
||||
mappings:
|
||||
description: Mappings is a list of datastore to ArrayCreds mappings
|
||||
items:
|
||||
description: DatastoreArrayCredsMapping represents a mapping between
|
||||
a VMware datastore and ArrayCreds
|
||||
properties:
|
||||
source:
|
||||
description: Source is the name of the source datastore in VMware
|
||||
type: string
|
||||
target:
|
||||
description: Target is the name of the ArrayCreds resource to
|
||||
use for this datastore
|
||||
type: string
|
||||
required:
|
||||
- source
|
||||
- target
|
||||
type: object
|
||||
type: array
|
||||
required:
|
||||
- mappings
|
||||
type: object
|
||||
status:
|
||||
description: ArrayCredsMappingStatus defines the observed state of ArrayCredsMapping
|
||||
properties:
|
||||
validationMessage:
|
||||
description: |-
|
||||
ValidationMessage provides detailed validation information including
|
||||
information about available ArrayCreds and any validation errors
|
||||
type: string
|
||||
validationStatus:
|
||||
description: |-
|
||||
ValidationStatus indicates the validation status of the ArrayCreds mapping
|
||||
Valid states include: "Valid", "Invalid", "Pending", "ValidationFailed"
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
||||
subresources:
|
||||
status: {}
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.17.1
|
||||
@@ -459,6 +748,10 @@ spec:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
networkPersistence:
|
||||
description: NetworkPersistence instructs the migration helper
|
||||
to persist the source networking configuration
|
||||
type: boolean
|
||||
periodicSyncEnabled:
|
||||
description: PeriodicSyncEnabled is a boolean to enable periodic
|
||||
sync
|
||||
@@ -487,6 +780,9 @@ spec:
|
||||
adminInitiatedCutOver:
|
||||
default: false
|
||||
type: boolean
|
||||
arrayOffload:
|
||||
default: false
|
||||
type: boolean
|
||||
dataCopyStart:
|
||||
format: date-time
|
||||
type: string
|
||||
@@ -534,6 +830,8 @@ spec:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
serverGroup:
|
||||
type: string
|
||||
virtualMachines:
|
||||
description: VirtualMachines is a list of virtual machines to be migrated
|
||||
items:
|
||||
@@ -641,6 +939,13 @@ spec:
|
||||
migrationPlan:
|
||||
description: MigrationPlan is the name of the migration plan
|
||||
type: string
|
||||
migrationType:
|
||||
description: MigrationType indicates whether this is a hot (live)
|
||||
or cold migration
|
||||
enum:
|
||||
- hot
|
||||
- cold
|
||||
type: string
|
||||
podRef:
|
||||
description: PodRef is the name of the pod
|
||||
type: string
|
||||
@@ -707,11 +1012,17 @@ spec:
|
||||
- type
|
||||
type: object
|
||||
type: array
|
||||
currentDisk:
|
||||
description: |-
|
||||
CurrentDisk tracks which disk is currently being copied (e.g., "0", "1")
|
||||
Extracted from migration pod events
|
||||
type: string
|
||||
phase:
|
||||
description: Phase is the current phase of the migration
|
||||
enum:
|
||||
- Pending
|
||||
- Validating
|
||||
- ValidationFailed
|
||||
- AwaitingDataCopyStart
|
||||
- CopyingBlocks
|
||||
- CopyingChangedBlocks
|
||||
@@ -721,7 +1032,23 @@ spec:
|
||||
- Succeeded
|
||||
- Failed
|
||||
- Unknown
|
||||
- ConnectingToESXi
|
||||
- CreatingInitiatorGroup
|
||||
- CreatingVolume
|
||||
- ImportingToCinder
|
||||
- MappingVolume
|
||||
- RescanningStorage
|
||||
- XCOPYInProgress
|
||||
type: string
|
||||
retryable:
|
||||
description: |-
|
||||
Retryable indicates whether this migration can be retried when it fails.
|
||||
Set to false for VMs with RDM (Raw Device Mapping) disks that share storage,
|
||||
as RDM disk migration state prevents automatic retry.
|
||||
type: boolean
|
||||
totalDisks:
|
||||
description: TotalDisks is the total number of disks to be migrated
|
||||
type: integer
|
||||
required:
|
||||
- phase
|
||||
type: object
|
||||
@@ -777,6 +1104,11 @@ spec:
|
||||
description: MigrationTemplateSpec defines the desired state of MigrationTemplate
|
||||
including source/destination environments and mappings
|
||||
properties:
|
||||
arrayCredsMapping:
|
||||
description: |-
|
||||
ArrayCredsMapping is the reference to the ArrayCredsMapping resource that defines datastore to ArrayCreds mappings
|
||||
This is used for StorageAcceleratedCopy data copy method
|
||||
type: string
|
||||
destination:
|
||||
description: Destination is the destination details for the virtual
|
||||
machine
|
||||
@@ -808,9 +1140,19 @@ spec:
|
||||
required:
|
||||
- vmwareRef
|
||||
type: object
|
||||
storageCopyMethod:
|
||||
default: normal
|
||||
description: |-
|
||||
StorageCopyMethod indicates the method to use for storage migration
|
||||
Valid values: "normal" (default), "StorageAcceleratedCopy"
|
||||
enum:
|
||||
- normal
|
||||
- StorageAcceleratedCopy
|
||||
type: string
|
||||
storageMapping:
|
||||
description: StorageMapping is the reference to the StorageMapping
|
||||
resource that defines source to destination storage mappings
|
||||
description: |-
|
||||
StorageMapping is the reference to the StorageMapping resource that defines source to destination storage mappings
|
||||
This is used for normal data copy method
|
||||
type: string
|
||||
targetPCDClusterName:
|
||||
description: TargetPCDClusterName is the name of the PCD cluster where
|
||||
@@ -820,6 +1162,10 @@ spec:
|
||||
description: UseFlavorless indicates if the migration should use flavorless
|
||||
VM creation for PCD.
|
||||
type: boolean
|
||||
useGPUFlavor:
|
||||
description: UseGPUFlavor indicates if the migration should filter
|
||||
and use GPU-enabled flavors.
|
||||
type: boolean
|
||||
virtioWinDriver:
|
||||
description: VirtioWinDriver is the driver to be used for the virtual
|
||||
machine
|
||||
@@ -828,7 +1174,6 @@ spec:
|
||||
- destination
|
||||
- networkMapping
|
||||
- source
|
||||
- storageMapping
|
||||
type: object
|
||||
type: object
|
||||
served: true
|
||||
@@ -996,6 +1341,15 @@ spec:
|
||||
disk:
|
||||
description: Disk is the amount of root disk, measured in GB.
|
||||
type: integer
|
||||
extra_specs:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: |-
|
||||
Properties is a dictionary of the flavor’s extra-specs key-and-value
|
||||
pairs. This will only be included if the user is allowed by policy to
|
||||
index flavor extra_specs
|
||||
New in version 2.61
|
||||
type: object
|
||||
id:
|
||||
description: ID is the flavor's unique ID.
|
||||
type: string
|
||||
@@ -1020,6 +1374,7 @@ spec:
|
||||
- OS-FLV-EXT-DATA:ephemeral
|
||||
- description
|
||||
- disk
|
||||
- extra_specs
|
||||
- id
|
||||
- name
|
||||
- os-flavor-access:is_public
|
||||
@@ -1028,6 +1383,22 @@ spec:
|
||||
- vcpus
|
||||
type: object
|
||||
type: array
|
||||
osAuthToken:
|
||||
type: string
|
||||
osAuthUrl:
|
||||
type: string
|
||||
osDomainName:
|
||||
type: string
|
||||
osInsecure:
|
||||
type: boolean
|
||||
osPassword:
|
||||
type: string
|
||||
osRegionName:
|
||||
type: string
|
||||
osTenantName:
|
||||
type: string
|
||||
osUsername:
|
||||
type: string
|
||||
pcdHostConfig:
|
||||
description: PCDHostConfig is the list of available clusters in openstack
|
||||
items:
|
||||
@@ -1131,6 +1502,25 @@ spec:
|
||||
- requiresIdDisplay
|
||||
type: object
|
||||
type: array
|
||||
serverGroups:
|
||||
items:
|
||||
description: ServerGroupInfo holds the server group name, ID,
|
||||
and policy information
|
||||
properties:
|
||||
id:
|
||||
type: string
|
||||
members:
|
||||
type: integer
|
||||
name:
|
||||
type: string
|
||||
policy:
|
||||
type: string
|
||||
required:
|
||||
- id
|
||||
- name
|
||||
- policy
|
||||
type: object
|
||||
type: array
|
||||
volumeBackends:
|
||||
items:
|
||||
type: string
|
||||
@@ -1561,6 +1951,10 @@ spec:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
networkPersistence:
|
||||
description: NetworkPersistence instructs the migration helper
|
||||
to persist the source networking configuration
|
||||
type: boolean
|
||||
periodicSyncEnabled:
|
||||
description: PeriodicSyncEnabled is a boolean to enable periodic
|
||||
sync
|
||||
@@ -1675,6 +2069,9 @@ spec:
|
||||
adminInitiatedCutOver:
|
||||
default: false
|
||||
type: boolean
|
||||
arrayOffload:
|
||||
default: false
|
||||
type: boolean
|
||||
dataCopyStart:
|
||||
format: date-time
|
||||
type: string
|
||||
@@ -1998,6 +2395,18 @@ spec:
|
||||
openstackImageID:
|
||||
description: OpenstackImageID is the image of the VM
|
||||
type: string
|
||||
openstackSecurityGroups:
|
||||
description: |-
|
||||
OpenstackSecurityGroups is the list of security groups for the VM
|
||||
If empty, the security groups will be determined from the master node
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
openstackVolumeType:
|
||||
description: |-
|
||||
OpenstackVolumeType is the volume type for the root disk of the VM
|
||||
If empty, the volume type will be determined from the master node
|
||||
type: string
|
||||
required:
|
||||
- nodeRole
|
||||
- openstackCreds
|
||||
@@ -2198,8 +2607,6 @@ spec:
|
||||
vcenterHost:
|
||||
description: VcenterHost is the vCenter host
|
||||
type: string
|
||||
required:
|
||||
- datacenter
|
||||
type: object
|
||||
status:
|
||||
description: VMwareCredsStatus defines the observed state of VMwareCreds
|
||||
@@ -2356,11 +2763,35 @@ spec:
|
||||
disks:
|
||||
description: Disks is the list of disks for the virtual machine
|
||||
items:
|
||||
type: string
|
||||
description: Disk represents a virtual disk attached to a virtual
|
||||
machine
|
||||
properties:
|
||||
capacityGB:
|
||||
type: integer
|
||||
datastore:
|
||||
type: string
|
||||
datastoreId:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
esxiName:
|
||||
description: ESXiName is the name of the ESXi host
|
||||
type: string
|
||||
gpu:
|
||||
description: GPU contains information about GPU devices attached
|
||||
to the VM
|
||||
properties:
|
||||
passthroughCount:
|
||||
description: PassthroughCount is the number of PCI passthrough
|
||||
GPU devices
|
||||
type: integer
|
||||
vgpuCount:
|
||||
description: VGPUCount is the number of vGPU (shared GPU)
|
||||
devices
|
||||
type: integer
|
||||
type: object
|
||||
guestNetworks:
|
||||
description: GuestNetworks is the list of network interfaces for
|
||||
the virtual machine as reported by the guest
|
||||
@@ -2773,6 +3204,7 @@ rules:
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- arraycreds
|
||||
- bmconfigs
|
||||
- clustermigrations
|
||||
- esximigrations
|
||||
@@ -2802,6 +3234,7 @@ rules:
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- arraycreds/finalizers
|
||||
- bmconfigs/finalizers
|
||||
- clustermigrations/finalizers
|
||||
- esximigrations/finalizers
|
||||
@@ -2821,6 +3254,7 @@ rules:
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- arraycreds/status
|
||||
- bmconfigs/status
|
||||
- clustermigrations/status
|
||||
- esximigrations/status
|
||||
@@ -3719,7 +4153,7 @@ spec:
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: pf9-env
|
||||
image: quay.io/platform9/vjailbreak-controller:v0.3.6
|
||||
image: quay.io/platform9/vjailbreak-controller:v0.3.8
|
||||
imagePullPolicy: IfNotPresent
|
||||
lifecycle:
|
||||
preStop:
|
||||
@@ -3802,7 +4236,7 @@ spec:
|
||||
- envFrom:
|
||||
- configMapRef:
|
||||
name: pf9-env
|
||||
image: quay.io/platform9/vjailbreak-vpwned:v0.3.6
|
||||
image: quay.io/platform9/vjailbreak-vpwned:v0.3.8
|
||||
imagePullPolicy: IfNotPresent
|
||||
name: vpwned
|
||||
ports:
|
||||
@@ -3815,6 +4249,8 @@ spec:
|
||||
- mountPath: /etc/hosts
|
||||
name: hosts-file
|
||||
readOnly: true
|
||||
- mountPath: /home/ubuntu
|
||||
name: vddk-storage
|
||||
dnsPolicy: ClusterFirst
|
||||
restartPolicy: Always
|
||||
schedulerName: default-scheduler
|
||||
@@ -3826,12 +4262,22 @@ spec:
|
||||
path: /etc/hosts
|
||||
type: File
|
||||
name: hosts-file
|
||||
- hostPath:
|
||||
path: /home/ubuntu
|
||||
type: DirectoryOrCreate
|
||||
name: vddk-storage
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
annotations:
|
||||
nginx.ingress.kubernetes.io/backend-protocol: HTTP
|
||||
nginx.ingress.kubernetes.io/proxy-body-size: 500m
|
||||
nginx.ingress.kubernetes.io/proxy-buffering: "off"
|
||||
nginx.ingress.kubernetes.io/proxy-connect-timeout: "600"
|
||||
nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
|
||||
nginx.ingress.kubernetes.io/proxy-request-buffering: "off"
|
||||
nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
|
||||
nginx.ingress.kubernetes.io/rewrite-target: /$1
|
||||
nginx.ingress.kubernetes.io/use-regex: "true"
|
||||
name: migration-vpwned-ingress
|
||||
|
||||
@@ -8,9 +8,10 @@ data:
|
||||
PERIODIC_SYNC_INTERVAL: "1h" # interval to sync vCenter VMs
|
||||
VM_ACTIVE_WAIT_INTERVAL_SECONDS: "20" # interval to wait for vm to become active
|
||||
VM_ACTIVE_WAIT_RETRY_LIMIT: "15" # number of retries to wait for vm to become active
|
||||
DEFAULT_MIGRATION_METHOD: "hot" # supported value hot/cold, (This setting is not used as of now. To be used by UI)
|
||||
DEFAULT_MIGRATION_METHOD: "cold" # 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
|
||||
CLEANUP_PORTS_AFTER_MIGRATION_FAILURE: "false" # cleanup ports after migration 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
|
||||
@@ -22,3 +23,11 @@ data:
|
||||
PERIODIC_SYNC_MAX_RETRIES: "3" # max number of retries for CBT sync
|
||||
PERIODIC_SYNC_RETRY_CAP: "3h" # max retry interval for CBT sync
|
||||
AUTO_FSTAB_UPDATE: "false" # automatically update fstab
|
||||
AUTO_PXE_BOOT_ON_CONVERSION: "false" # automatically set machine to PXE boot during cluster conversion
|
||||
V2V_HELPER_POD_CPU_REQUEST: "1000m"
|
||||
V2V_HELPER_POD_MEMORY_REQUEST: "2Gi"
|
||||
V2V_HELPER_POD_CPU_LIMIT: "2000m"
|
||||
V2V_HELPER_POD_MEMORY_LIMIT: "5Gi"
|
||||
V2V_HELPER_POD_EPHEMERAL_STORAGE_REQUEST: "3Gi"
|
||||
V2V_HELPER_POD_EPHEMERAL_STORAGE_LIMIT: "3Gi"
|
||||
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
# v0.3.7
|
||||
|
||||
- **Tag:** `v0.3.7`
|
||||
- **Published:** 2025-12-19T12:08:24Z
|
||||
- **Source release:** https://github.com/platform9/vjailbreak/releases/tag/v0.3.7
|
||||
|
||||
## Release Notes
|
||||
|
||||
## What's Changed
|
||||
* fix - Periodic Sync Migration Fails on Transient Network Errors Instead of Retrying by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1204
|
||||
* Prebaked Openstack Cli inside the vjailbreak VM by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1211
|
||||
* fix - Migration controller logs are being flooded by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1212
|
||||
* #1202 :: Bug :: Single migrationtemplate object should be created for one migrationplan (Use Dynamic Hotplug-Enabled Flavors is the advance option making post calls) by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1215
|
||||
* #1140 :: Enhancement :: Allow user input for IP's for any VM being migrated by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1217
|
||||
* Added migration pod and controller logs in the UI by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1214
|
||||
* #1040 :: Bug :: UI should block migration of VM having unknown OS (Should provide an option to select OS) by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1222
|
||||
* Backend implementation for ability to add server group to the VMs by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1219
|
||||
* Frontend for selecting server group during migration by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1220
|
||||
* [Fix] added APIReader to get RDM by @rijojohn85 in https://github.com/platform9/vjailbreak/pull/1149
|
||||
* cluster conversion fixes for static esx IPs by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1203
|
||||
* fix - Password set in cloud init is not being reflected by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1226
|
||||
* add more aggressive cleaning in v2v-helper by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1235
|
||||
* support gpu flavours by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1233
|
||||
* Show correct time elapsed during migration on ui by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1237
|
||||
* Removed fstrim by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1143
|
||||
* Reduced log verbosity for disk copy by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1249
|
||||
* Disable 'Apply Changes' button when ip has invalid format by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1251
|
||||
* fix - Can't assign dhcp IP to the migrated instance by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1234
|
||||
* Fix migration timeout for multi-attach RDM volumes by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1247
|
||||
* add setting to delete port after migration failure by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1255
|
||||
* reflect current default migration method in migration form by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1257
|
||||
* Fix batch script to properly write self-delete logic to the generated startup script by @Track2k in https://github.com/platform9/vjailbreak/pull/1213
|
||||
* add UI option to automatically run script to fix fstab entries during migration by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1258
|
||||
* feat: add a net pacakge with unit test cases by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/1160
|
||||
* Added script to check disks status in Windows post-migration by @amar-chand in https://github.com/platform9/vjailbreak/pull/1167
|
||||
* fix agents tenant and security groups by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1260
|
||||
* fix multiple migration succeeded events in amplitude by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1262
|
||||
* fix - Migration fails when port already exist on pcd side (DHCP=true) by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1279
|
||||
* Setting up the default password for the agent nodes by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1281
|
||||
* Fixed default migration-method to cold and map with global settings by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1284
|
||||
* Updating CRDs for release by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1285
|
||||
* Populate metadata in extra specs in openstack creds by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1286
|
||||
|
||||
## New Contributors
|
||||
* @Track2k made their first contribution in https://github.com/platform9/vjailbreak/pull/1213
|
||||
|
||||
**Full Changelog**: https://github.com/platform9/vjailbreak/compare/v0.3.6...v0.3.7
|
||||
@@ -0,0 +1,37 @@
|
||||
# v0.3.8
|
||||
|
||||
- **Tag:** `v0.3.8`
|
||||
- **Published:** 2026-01-07T08:27:41Z
|
||||
- **Source release:** https://github.com/platform9/vjailbreak/releases/tag/v0.3.8
|
||||
|
||||
## Release Notes
|
||||
|
||||
## What's Changed
|
||||
* Implement Session Timeout (18 hours inactivity) for UI by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1264
|
||||
* install vjbctl binary system wide by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1269
|
||||
* Make datacenter field as an optional entry in vmware creds form by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1256
|
||||
* #1227, #1224 :: Create a Common Component Library for Consistent UI Across the Application by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1297
|
||||
* support additional machine states, optional set to PXE boot by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1301
|
||||
* fix - Agent Node not prompting to change password by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1310
|
||||
* fix errored agent nodes deletion from PCD by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1303
|
||||
* Added script to preserve network interfaces by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1304
|
||||
* #1299 :: New UI – Issues and Required Fixes by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1313
|
||||
* Added advanced option in UI to select if the user wants to persist network interfaces by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1314
|
||||
* add script to check and bring the offline volumes online by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1309
|
||||
* Added a new state to show migrationplan validation failure in ui by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1298
|
||||
* fix - logs for persistance script showing errors by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1317
|
||||
* Add endpoint to take proxy variable, update the cm and restart controller. by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1316
|
||||
* Fix logs UI and updated CRDs by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1320
|
||||
* #1294 :: UI add proxy by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1322
|
||||
* #1294 :: UI: Add proxy with separate Http, Https field by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1325
|
||||
* added validationFailed to stop time elapsed by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1328
|
||||
* Refactored network persistance script by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1327
|
||||
* #1331 :: Show warning message on UI after saving proxy by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1332
|
||||
* no_proxy default values by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1335
|
||||
* Fixed migrationplan status based on all edge cases (combination of validationFailed, failed, suceeded, inprogress) by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1333
|
||||
* Fix - Network persistence not working for older versions of ubuntu by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1338
|
||||
* Vmware tools fix by @amar-chand in https://github.com/platform9/vjailbreak/pull/1267
|
||||
* fix - Interfaces with no ip for ubuntu older versions getting default ip by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1340
|
||||
|
||||
|
||||
**Full Changelog**: https://github.com/platform9/vjailbreak/compare/v0.3.7...v0.3.8
|
||||
@@ -0,0 +1,60 @@
|
||||
# v0.4.0
|
||||
|
||||
- **Tag:** `v0.4.0`
|
||||
- **Published:** 2026-02-03T10:40:48Z
|
||||
- **Source release:** https://github.com/platform9/vjailbreak/releases/tag/v0.4.0
|
||||
|
||||
## Release Notes
|
||||
|
||||
## What's Changed
|
||||
* Added link to public documentation in the ui by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1345
|
||||
* #1336, #834 :: UI implement feedback changes by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1346
|
||||
* Implement Storage SDK Foundation (#1091 #1093) - PART1 by @sanya-pf9 in https://github.com/platform9/vjailbreak/pull/1291
|
||||
* continues the array-accelerated migration work by implementing the storage array gRPC server layer by @sanya-pf9 in https://github.com/platform9/vjailbreak/pull/1350
|
||||
* Storage SDK Foundation - Part 3 -- removed all UI changes by @sanya-pf9 in https://github.com/platform9/vjailbreak/pull/1353
|
||||
* Upload VDDK via UI. by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1319
|
||||
* fix: Make VCENTER_DATACENTER optional in secret by @sanya-pf9 in https://github.com/platform9/vjailbreak/pull/1356
|
||||
* Reverting 3 commits that introduced breaking changes by @sanya-pf9 in https://github.com/platform9/vjailbreak/pull/1357
|
||||
* storage array integration by @sanya-pf9 in https://github.com/platform9/vjailbreak/pull/1361
|
||||
* Added migration details modal by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1355
|
||||
* remove stale folders from the project by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1359
|
||||
* Handled trailing slash in vCenter URL by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1349
|
||||
* VDDK upload by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1364
|
||||
* Added more relevant option in MigrationForm by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1347
|
||||
* Bug: Check for empty arraycreds secret ref when normal migration and change names. by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1369
|
||||
* Restrict retry on rdm migration by @sanya-pf9 in https://github.com/platform9/vjailbreak/pull/1365
|
||||
* Added validation for hotplug flavor discovery by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1360
|
||||
* merge two common folders for better code structure by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1379
|
||||
* Added return to avoid segmentation fault or panic by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1387
|
||||
* VM Migrations stats and alerts on grafana dashboards by @sanya-pf9 in https://github.com/platform9/vjailbreak/pull/1362
|
||||
* #1368, #1367 date time selection is not working for scheduled cutover and copy start time by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1384
|
||||
* feat: adding vddk upload status api by @sanya-pf9 in https://github.com/platform9/vjailbreak/pull/1377
|
||||
* deterministic volume ordering during copy by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1389
|
||||
* UI: Create UI for storage accelerated copy. by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1378
|
||||
* Added missing logs for better debugging by @geet-pf9 in https://github.com/platform9/vjailbreak/pull/1401
|
||||
* feat: adding vddk version in the api by @sanya-pf9 in https://github.com/platform9/vjailbreak/pull/1397
|
||||
* #731 :: [UI] add prompts for missing VDDK, credentials by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1372
|
||||
* Fix - windows 2022 not able to recognise the network interfaces by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1382
|
||||
* pass vminfo by reference and improve sync error handling by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1391
|
||||
* Reset currentState to initial in case of error and success by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1404
|
||||
* Implemented OpenStack token-based authentication by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1394
|
||||
* feat: adding fuzzy search by @sanya-pf9 in https://github.com/platform9/vjailbreak/pull/1392
|
||||
* Add VM power status check after poweroff by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1405
|
||||
* Make request limit configurable and increase limit to 5Gib by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1407
|
||||
* feat: Adding netapp storage.go by @sanya-pf9 in https://github.com/platform9/vjailbreak/pull/1399
|
||||
* Mark migrations ValidationFailed when RDM disk is not managed by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1406
|
||||
* Disabled hour-time-picker for scheduled cutover if minutes are disabled by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1415
|
||||
* Fix issues in vddk upload page by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1418
|
||||
* fix: added buildBackendToVolumeTypeMap function and cleanup logic by @sanya-pf9 in https://github.com/platform9/vjailbreak/pull/1422
|
||||
* #1424 :: The screen flickers first time when clicking on other Global Settings tabs while the VDDK upload is in progress or uploaded by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1429
|
||||
* #1434 :: Add ESXi SSH Private Key Input Field to Storage Array Credentials Page by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1435
|
||||
* Prioritizing Cold Migration in case of cutover options selected with cold migration by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1439
|
||||
* #1444 :: Couldn't upload ssh key without an extension by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1447
|
||||
* Throttling the go routines during copying changed block stage by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1446
|
||||
* UI :: #1438 :: Admin cutover + cold migration is not a valid usecase by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1441
|
||||
* #1430 :: Updating the vJailbreak settings through the UI removes ConfigMap keys that are not shown in the UI by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1436
|
||||
|
||||
## New Contributors
|
||||
* @geet-pf9 made their first contribution in https://github.com/platform9/vjailbreak/pull/1401
|
||||
|
||||
**Full Changelog**: https://github.com/platform9/vjailbreak/compare/v0.3.8...v0.4.0
|
||||
Reference in New Issue
Block a user