Add release v0.4.8
This commit is contained in:
+500
-8
@@ -878,6 +878,356 @@ spec:
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.17.1
|
||||
name: migrationblueprints.vjailbreak.k8s.pf9.io
|
||||
spec:
|
||||
group: vjailbreak.k8s.pf9.io
|
||||
names:
|
||||
kind: MigrationBlueprint
|
||||
listKind: MigrationBlueprintList
|
||||
plural: migrationblueprints
|
||||
singular: migrationblueprint
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- additionalPrinterColumns:
|
||||
- jsonPath: .spec.displayName
|
||||
name: Display Name
|
||||
type: string
|
||||
- jsonPath: .spec.vmwareRef
|
||||
name: Source
|
||||
type: string
|
||||
- jsonPath: .spec.pcdRef
|
||||
name: Destination
|
||||
type: string
|
||||
- jsonPath: .metadata.creationTimestamp
|
||||
name: Age
|
||||
type: date
|
||||
name: v1alpha1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: |-
|
||||
MigrationBlueprint is the Schema for the migrationblueprints API. It stores a
|
||||
reusable, named migration configuration that the UI presents as a "Migration
|
||||
Template": users save a configuration once and apply it later to pre-populate
|
||||
the migration form. Blueprints are not read by the migration controller.
|
||||
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: |-
|
||||
MigrationBlueprintSpec defines a reusable, named snapshot of a migration
|
||||
configuration. It captures everything from the migration form except the VM
|
||||
selection, so the UI can present it as a "Migration Template" and pre-fill
|
||||
the migration wizard. Blueprints are consumed only by the UI: applying one
|
||||
still creates the regular MigrationTemplate/MigrationPlan/mapping resources,
|
||||
so the migration controller never reads a blueprint.
|
||||
properties:
|
||||
advancedOptions:
|
||||
description: AdvancedOptions captures the advanced migration options
|
||||
to pre-fill
|
||||
properties:
|
||||
acknowledgeNetworkConflictRisk:
|
||||
description: AcknowledgeNetworkConflictRisk indicates that the
|
||||
user acknowledges the risk of network conflicts when doing live
|
||||
migration
|
||||
type: boolean
|
||||
granularNetworks:
|
||||
description: GranularNetworks is a list of networks to be migrated
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
granularPorts:
|
||||
description: GranularPorts is a list of ports to be migrated
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
granularVolumeTypes:
|
||||
description: GranularVolumeTypes is a list of volume types to
|
||||
be migrated
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
imageProfiles:
|
||||
description: ImageProfiles is the ordered list of VolumeImageProfile
|
||||
names to apply to the migrated VM's boot volume.
|
||||
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
|
||||
type: boolean
|
||||
periodicSyncInterval:
|
||||
description: PeriodicSyncInterval is the interval at which the
|
||||
migration plan should be synced
|
||||
type: string
|
||||
removeVMwareTools:
|
||||
default: true
|
||||
description: |-
|
||||
RemoveVMwareTools instructs the migration helper to remove VMware Tools post migration.
|
||||
Defaults to true since most migrations require VMware Tools removal.
|
||||
type: boolean
|
||||
type: object
|
||||
arrayCredsMappings:
|
||||
description: |-
|
||||
ArrayCredsMappings is an inline snapshot of datastore-to-ArrayCreds pairs.
|
||||
Used when StorageCopyMethod is "StorageAcceleratedCopy".
|
||||
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
|
||||
customMetadata:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: |-
|
||||
CustomMetadata is a map of additional key-value pairs applied as instance
|
||||
metadata to every migrated VM
|
||||
type: object
|
||||
dataOnly:
|
||||
description: |-
|
||||
DataOnly copies and converts disks to Cinder volumes without creating an
|
||||
OpenStack VM
|
||||
type: boolean
|
||||
description:
|
||||
description: Description is a free-text description of the blueprint
|
||||
type: string
|
||||
displayName:
|
||||
description: DisplayName is the human-readable name of the blueprint
|
||||
shown in the UI
|
||||
minLength: 1
|
||||
type: string
|
||||
fallbackToDHCP:
|
||||
description: FallbackToDHCP falls back to DHCP when static IP assignment
|
||||
is not possible
|
||||
type: boolean
|
||||
firstBootScript:
|
||||
description: FirstBootScript is the script to run on first boot of
|
||||
migrated VMs
|
||||
type: string
|
||||
migrationStrategy:
|
||||
description: |-
|
||||
MigrationStrategy captures the migration type, cutover windows, and
|
||||
health-check settings to pre-fill into the migration form.
|
||||
Optional so partially filled forms can be saved as templates.
|
||||
properties:
|
||||
adminInitiatedCutOver:
|
||||
default: false
|
||||
type: boolean
|
||||
arrayOffload:
|
||||
default: false
|
||||
type: boolean
|
||||
dataCopyStart:
|
||||
format: date-time
|
||||
type: string
|
||||
dataOnly:
|
||||
default: false
|
||||
description: |-
|
||||
DataOnly skips OpenStack VM creation; converted Cinder volumes are left staged.
|
||||
Compatible with all strategy types (hot, cold, mock).
|
||||
type: boolean
|
||||
disconnectSourceNetwork:
|
||||
default: false
|
||||
type: boolean
|
||||
healthCheckPort:
|
||||
default: "443"
|
||||
type: string
|
||||
performHealthChecks:
|
||||
default: false
|
||||
type: boolean
|
||||
type:
|
||||
enum:
|
||||
- hot
|
||||
- cold
|
||||
- mock
|
||||
type: string
|
||||
vmCutoverEnd:
|
||||
format: date-time
|
||||
type: string
|
||||
vmCutoverStart:
|
||||
format: date-time
|
||||
type: string
|
||||
required:
|
||||
- type
|
||||
type: object
|
||||
networkMappings:
|
||||
description: |-
|
||||
NetworkMappings is an inline snapshot of source-to-target network pairs.
|
||||
Copied by value rather than referencing a NetworkMapping resource, since
|
||||
those are per-migration objects that may be mutated or deleted.
|
||||
items:
|
||||
description: Network represents a mapping between source and target
|
||||
networks
|
||||
properties:
|
||||
source:
|
||||
description: Source is the name of the source network in VMware
|
||||
type: string
|
||||
target:
|
||||
description: Target is the name of the target network in OpenStack
|
||||
type: string
|
||||
required:
|
||||
- source
|
||||
- target
|
||||
type: object
|
||||
type: array
|
||||
noVMwareClusterFilter:
|
||||
description: |-
|
||||
NoVMwareClusterFilter records that the user explicitly chose the
|
||||
"No Cluster" source filter: VMs on standalone ESXi hosts that are not
|
||||
part of any vCenter cluster in the datacenter referenced by VMwareRef.
|
||||
This is distinct from VMwareClusterName simply not being set yet, so it
|
||||
is tracked as its own field rather than inferred from an empty string.
|
||||
type: boolean
|
||||
osFamily:
|
||||
description: OSFamily is the OS type of the virtual machines this
|
||||
blueprint targets
|
||||
enum:
|
||||
- windowsGuest
|
||||
- linuxGuest
|
||||
type: string
|
||||
pcdRef:
|
||||
description: |-
|
||||
PCDRef is the name of the OpenstackCreds to use as the destination PCD environment.
|
||||
Optional so partially filled forms can be saved as templates.
|
||||
type: string
|
||||
postMigrationAction:
|
||||
description: PostMigrationAction captures the post-migration actions
|
||||
to pre-fill
|
||||
properties:
|
||||
folderName:
|
||||
type: string
|
||||
moveToFolder:
|
||||
type: boolean
|
||||
renameVm:
|
||||
type: boolean
|
||||
suffix:
|
||||
type: string
|
||||
type: object
|
||||
preserveSourceTags:
|
||||
description: |-
|
||||
PreserveSourceTags copies each source VM's vSphere tags and custom
|
||||
attributes to the migrated VM as instance metadata
|
||||
type: boolean
|
||||
proxyVMRef:
|
||||
description: |-
|
||||
ProxyVMRef references the ProxyVM to use for data copy.
|
||||
Used when StorageCopyMethod is "HotAdd".
|
||||
properties:
|
||||
name:
|
||||
default: ""
|
||||
description: |-
|
||||
Name of the referent.
|
||||
This field is effectively required, but due to backwards compatibility is
|
||||
allowed to be empty. Instances of this type with an empty value here are
|
||||
almost certainly wrong.
|
||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
type: string
|
||||
type: object
|
||||
x-kubernetes-map-type: atomic
|
||||
securityGroups:
|
||||
description: SecurityGroups is the list of OpenStack security group
|
||||
names to apply
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
serverGroup:
|
||||
description: ServerGroup is the OpenStack server group to place migrated
|
||||
VMs into
|
||||
type: string
|
||||
storageCopyMethod:
|
||||
default: normal
|
||||
description: StorageCopyMethod indicates the method to use for storage
|
||||
migration
|
||||
enum:
|
||||
- normal
|
||||
- StorageAcceleratedCopy
|
||||
- HotAdd
|
||||
type: string
|
||||
storageMappings:
|
||||
description: |-
|
||||
StorageMappings is an inline snapshot of source-to-target storage pairs.
|
||||
Copied by value for the same reason as NetworkMappings.
|
||||
items:
|
||||
description: Storage represents a mapping between source and target
|
||||
storage types
|
||||
properties:
|
||||
source:
|
||||
description: Source is the name of the source storage type in
|
||||
VMware
|
||||
type: string
|
||||
target:
|
||||
description: Target is the name of the target storage type in
|
||||
OpenStack
|
||||
type: string
|
||||
required:
|
||||
- source
|
||||
- target
|
||||
type: object
|
||||
type: array
|
||||
targetPCDClusterName:
|
||||
description: TargetPCDClusterName is the name of the PCD cluster to
|
||||
migrate VMs into
|
||||
type: string
|
||||
useGPUFlavor:
|
||||
description: UseGPUFlavor indicates if the migration should filter
|
||||
and use GPU-enabled flavors
|
||||
type: boolean
|
||||
virtioWinDriver:
|
||||
description: VirtioWinDriver is the virtio-win driver version to use
|
||||
for Windows guests
|
||||
type: string
|
||||
vmwareClusterName:
|
||||
description: |-
|
||||
VMwareClusterName is the name of the source vCenter cluster VMs are
|
||||
migrated from.
|
||||
type: string
|
||||
vmwareRef:
|
||||
description: |-
|
||||
VMwareRef is the name of the VMwareCreds to use as the source environment.
|
||||
Optional so partially filled forms can be saved as templates.
|
||||
type: string
|
||||
required:
|
||||
- displayName
|
||||
type: object
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
||||
subresources: {}
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.17.1
|
||||
@@ -976,10 +1326,20 @@ spec:
|
||||
migration plan should be synced
|
||||
type: string
|
||||
removeVMwareTools:
|
||||
description: RemoveVMwareTools instructs the migration helper
|
||||
to remove VMware Tools post migration
|
||||
default: true
|
||||
description: |-
|
||||
RemoveVMwareTools instructs the migration helper to remove VMware Tools post migration.
|
||||
Defaults to true since most migrations require VMware Tools removal.
|
||||
type: boolean
|
||||
type: object
|
||||
customMetadata:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: |-
|
||||
CustomMetadata is a map of additional key-value pairs applied as instance
|
||||
metadata to every migrated VM in the plan. Keys here override colliding
|
||||
keys derived from preserved source tags.
|
||||
type: object
|
||||
fallbackToDHCP:
|
||||
type: boolean
|
||||
firstBootScript:
|
||||
@@ -998,6 +1358,12 @@ spec:
|
||||
dataCopyStart:
|
||||
format: date-time
|
||||
type: string
|
||||
dataOnly:
|
||||
default: false
|
||||
description: |-
|
||||
DataOnly skips OpenStack VM creation; converted Cinder volumes are left staged.
|
||||
Compatible with all strategy types (hot, cold, mock).
|
||||
type: boolean
|
||||
disconnectSourceNetwork:
|
||||
default: false
|
||||
type: boolean
|
||||
@@ -1069,6 +1435,12 @@ spec:
|
||||
suffix:
|
||||
type: string
|
||||
type: object
|
||||
preserveSourceTags:
|
||||
default: false
|
||||
description: |-
|
||||
PreserveSourceTags copies each source VM's vSphere tags and custom attributes
|
||||
to the migrated VM as instance metadata. Applies to all VMs in the plan.
|
||||
type: boolean
|
||||
securityGroups:
|
||||
items:
|
||||
type: string
|
||||
@@ -1169,6 +1541,10 @@ spec:
|
||||
spec:
|
||||
description: Spec defines the desired state of Migration
|
||||
properties:
|
||||
dataOnly:
|
||||
description: DataOnly indicates no OpenStack VM should be created
|
||||
after disk conversion.
|
||||
type: boolean
|
||||
disconnectSourceNetwork:
|
||||
description: |-
|
||||
DisconnectSourceNetwork specifies whether to disconnect the source VM's network interfaces
|
||||
@@ -1202,6 +1578,12 @@ spec:
|
||||
podRef:
|
||||
description: PodRef is the name of the pod
|
||||
type: string
|
||||
preserveSourceTags:
|
||||
default: false
|
||||
description: |-
|
||||
PreserveSourceTags indicates whether the source VM's vSphere tags and custom
|
||||
attributes are copied to the migrated VM as instance metadata.
|
||||
type: boolean
|
||||
vmName:
|
||||
description: VMName is the name of the VM getting migrated from VMWare
|
||||
to Openstack
|
||||
@@ -1297,6 +1679,7 @@ spec:
|
||||
- IdentifyingBlockDevices
|
||||
- HotAddTransferInProgress
|
||||
- HotAddCleanup
|
||||
- DataCopied
|
||||
type: string
|
||||
retryable:
|
||||
description: |-
|
||||
@@ -1304,6 +1687,12 @@ spec:
|
||||
Set to false for VMs with RDM (Raw Device Mapping) disks that share storage,
|
||||
as RDM disk migration state prevents automatic retry.
|
||||
type: boolean
|
||||
stagedVolumeIDs:
|
||||
description: StagedVolumeIDs lists the Cinder volume IDs created during
|
||||
a data-only migration.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
syncWarningMessage:
|
||||
description: |-
|
||||
SyncWarningMessage contains the warning message when periodic sync is in a warning state.
|
||||
@@ -1440,10 +1829,6 @@ spec:
|
||||
description: TargetPCDClusterName is the name of the PCD cluster where
|
||||
the virtual machine will be migrated
|
||||
type: string
|
||||
useFlavorless:
|
||||
description: UseFlavorless indicates if the migration should use flavorless
|
||||
VM creation for PCD.
|
||||
type: boolean
|
||||
useGPUFlavor:
|
||||
description: UseGPUFlavor indicates if the migration should filter
|
||||
and use GPU-enabled flavors.
|
||||
@@ -2410,8 +2795,10 @@ spec:
|
||||
migration plan should be synced
|
||||
type: string
|
||||
removeVMwareTools:
|
||||
description: RemoveVMwareTools instructs the migration helper
|
||||
to remove VMware Tools post migration
|
||||
default: true
|
||||
description: |-
|
||||
RemoveVMwareTools instructs the migration helper to remove VMware Tools post migration.
|
||||
Defaults to true since most migrations require VMware Tools removal.
|
||||
type: boolean
|
||||
type: object
|
||||
bmConfigRef:
|
||||
@@ -2509,6 +2896,14 @@ spec:
|
||||
- vmSequence
|
||||
type: object
|
||||
type: array
|
||||
customMetadata:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: |-
|
||||
CustomMetadata is a map of additional key-value pairs applied as instance
|
||||
metadata to every migrated VM in the plan. Keys here override colliding
|
||||
keys derived from preserved source tags.
|
||||
type: object
|
||||
firstBootScript:
|
||||
default: echo "Add your startup script here!"
|
||||
type: string
|
||||
@@ -2525,6 +2920,12 @@ spec:
|
||||
dataCopyStart:
|
||||
format: date-time
|
||||
type: string
|
||||
dataOnly:
|
||||
default: false
|
||||
description: |-
|
||||
DataOnly skips OpenStack VM creation; converted Cinder volumes are left staged.
|
||||
Compatible with all strategy types (hot, cold, mock).
|
||||
type: boolean
|
||||
disconnectSourceNetwork:
|
||||
default: false
|
||||
type: boolean
|
||||
@@ -2566,6 +2967,12 @@ spec:
|
||||
suffix:
|
||||
type: string
|
||||
type: object
|
||||
preserveSourceTags:
|
||||
default: false
|
||||
description: |-
|
||||
PreserveSourceTags copies each source VM's vSphere tags and custom attributes
|
||||
to the migrated VM as instance metadata. Applies to all VMs in the plan.
|
||||
type: boolean
|
||||
vmMigrationPlans:
|
||||
description: VMMigrationPlans is the reference to the VM migration
|
||||
plan
|
||||
@@ -3251,6 +3658,12 @@ spec:
|
||||
cpu:
|
||||
description: CPU is the number of CPUs in the virtual machine
|
||||
type: integer
|
||||
customAttributes:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: CustomAttributes maps vSphere custom attribute names
|
||||
to their values for the VM
|
||||
type: object
|
||||
datastores:
|
||||
description: Datastores is the list of datastores for the virtual
|
||||
machine
|
||||
@@ -3358,6 +3771,13 @@ spec:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
tags:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: |-
|
||||
Tags maps vSphere tag category names to a comma-separated list of the
|
||||
tag names attached to the VM in that category (e.g. "env" -> "production")
|
||||
type: object
|
||||
vmState:
|
||||
description: VMState is the state of the virtual machine
|
||||
type: string
|
||||
@@ -3915,6 +4335,44 @@ rules:
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
app.kubernetes.io/name: migration
|
||||
name: migration-migrationblueprint-editor-role
|
||||
rules:
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- migrationblueprints
|
||||
verbs:
|
||||
- create
|
||||
- delete
|
||||
- get
|
||||
- list
|
||||
- patch
|
||||
- update
|
||||
- watch
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
app.kubernetes.io/name: migration
|
||||
name: migration-migrationblueprint-viewer-role
|
||||
rules:
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- migrationblueprints
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
@@ -4863,6 +5321,7 @@ rules:
|
||||
- esxisshcreds
|
||||
- clustermigrations
|
||||
- esximigrations
|
||||
- migrationblueprints
|
||||
- migrationplans
|
||||
- migrations
|
||||
- migrationtemplates
|
||||
@@ -4953,4 +5412,37 @@ subjects:
|
||||
- kind: ServiceAccount
|
||||
name: ui-manager-sa
|
||||
namespace: migration-system
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: vjailbreak-ai-sa
|
||||
namespace: migration-system
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: vjailbreak-ai-data
|
||||
namespace: migration-system
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 2Gi
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: vjailbreak-ai
|
||||
namespace: migration-system
|
||||
spec:
|
||||
selector:
|
||||
app: vjailbreak-ai
|
||||
type: ClusterIP
|
||||
ports:
|
||||
- protocol: TCP
|
||||
port: 8080
|
||||
targetPort: 8080
|
||||
---
|
||||
Reference in New Issue
Block a user