Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
45d3a14195 | ||
|
|
9b38fd3b00 | ||
|
|
1faa3a5f45 | ||
|
|
cccd90c9ff | ||
|
|
b414b04d7d |
+423
-199
@@ -11,7 +11,7 @@ apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.15.0
|
||||
controller-gen.kubebuilder.io/version: v0.17.1
|
||||
name: migrationplans.vjailbreak.k8s.pf9.io
|
||||
spec:
|
||||
group: vjailbreak.k8s.pf9.io
|
||||
@@ -22,7 +22,11 @@ spec:
|
||||
singular: migrationplan
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
- additionalPrinterColumns:
|
||||
- jsonPath: .status.migrationStatus
|
||||
name: Status
|
||||
type: string
|
||||
name: v1alpha1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: MigrationPlan is the Schema for the migrationplans API
|
||||
@@ -97,7 +101,7 @@ spec:
|
||||
type: string
|
||||
retry:
|
||||
type: boolean
|
||||
virtualmachines:
|
||||
virtualMachines:
|
||||
items:
|
||||
items:
|
||||
type: string
|
||||
@@ -106,7 +110,7 @@ spec:
|
||||
required:
|
||||
- migrationStrategy
|
||||
- migrationTemplate
|
||||
- virtualmachines
|
||||
- virtualMachines
|
||||
type: object
|
||||
status:
|
||||
description: MigrationPlanStatus defines the observed state of MigrationPlan
|
||||
@@ -129,7 +133,7 @@ apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.15.0
|
||||
controller-gen.kubebuilder.io/version: v0.17.1
|
||||
name: migrations.vjailbreak.k8s.pf9.io
|
||||
spec:
|
||||
group: vjailbreak.k8s.pf9.io
|
||||
@@ -140,7 +144,14 @@ spec:
|
||||
singular: migration
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
- additionalPrinterColumns:
|
||||
- jsonPath: .status.phase
|
||||
name: Phase
|
||||
type: string
|
||||
- jsonPath: .status.agentName
|
||||
name: AgentName
|
||||
type: string
|
||||
name: v1alpha1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: Migration is the Schema for the migrations API
|
||||
@@ -163,15 +174,20 @@ spec:
|
||||
metadata:
|
||||
type: object
|
||||
spec:
|
||||
description: MigrationSpec defines the desired state of Migration
|
||||
description: Spec defines the desired state of Migration
|
||||
properties:
|
||||
initiateCutover:
|
||||
description: InitiateCutover is the flag to initiate cutover
|
||||
type: boolean
|
||||
migrationPlan:
|
||||
description: MigrationPlan is the name of the migration plan
|
||||
type: string
|
||||
podRef:
|
||||
description: PodRef is the name of the pod
|
||||
type: string
|
||||
vmName:
|
||||
description: VMName is the name of the VM getting migrated from VMWare
|
||||
to Openstack
|
||||
type: string
|
||||
required:
|
||||
- initiateCutover
|
||||
@@ -180,9 +196,15 @@ spec:
|
||||
- vmName
|
||||
type: object
|
||||
status:
|
||||
description: MigrationStatus defines the observed state of Migration
|
||||
description: Status defines the observed state of Migration
|
||||
properties:
|
||||
agentName:
|
||||
description: AgentName is the name of the agent where migration is
|
||||
running
|
||||
type: string
|
||||
conditions:
|
||||
description: Conditions is the list of conditions of the migration
|
||||
object pod
|
||||
items:
|
||||
description: PodCondition contains details for the current condition
|
||||
of this pod.
|
||||
@@ -221,9 +243,9 @@ spec:
|
||||
type: object
|
||||
type: array
|
||||
phase:
|
||||
description: Phase is the current phase of the migration
|
||||
type: string
|
||||
required:
|
||||
- conditions
|
||||
- phase
|
||||
type: object
|
||||
type: object
|
||||
@@ -236,7 +258,7 @@ apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.15.0
|
||||
controller-gen.kubebuilder.io/version: v0.17.1
|
||||
name: migrationtemplates.vjailbreak.k8s.pf9.io
|
||||
spec:
|
||||
group: vjailbreak.k8s.pf9.io
|
||||
@@ -334,6 +356,10 @@ spec:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
disks:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
ipAddress:
|
||||
type: string
|
||||
name:
|
||||
@@ -361,7 +387,7 @@ apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.15.0
|
||||
controller-gen.kubebuilder.io/version: v0.17.1
|
||||
name: networkmappings.vjailbreak.k8s.pf9.io
|
||||
spec:
|
||||
group: vjailbreak.k8s.pf9.io
|
||||
@@ -372,7 +398,11 @@ spec:
|
||||
singular: networkmapping
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
- additionalPrinterColumns:
|
||||
- jsonPath: .status.NetworkmappingValidationStatus
|
||||
name: Status
|
||||
type: string
|
||||
name: v1alpha1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: NetworkMapping is the Schema for the networkmappings API
|
||||
@@ -431,7 +461,7 @@ apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.15.0
|
||||
controller-gen.kubebuilder.io/version: v0.17.1
|
||||
name: openstackcreds.vjailbreak.k8s.pf9.io
|
||||
spec:
|
||||
group: vjailbreak.k8s.pf9.io
|
||||
@@ -442,7 +472,11 @@ spec:
|
||||
singular: openstackcreds
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
- additionalPrinterColumns:
|
||||
- jsonPath: .status.openstackValidationStatus
|
||||
name: Status
|
||||
type: string
|
||||
name: v1alpha1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: OpenstackCreds is the Schema for the openstackcreds API
|
||||
@@ -467,29 +501,50 @@ spec:
|
||||
spec:
|
||||
description: OpenstackCredsSpec defines the desired state of OpenstackCreds
|
||||
properties:
|
||||
OS_AUTH_URL:
|
||||
description: OsAuthURL is the OpenStack authentication URL
|
||||
secretRef:
|
||||
description: SecretRef is the reference to the Kubernetes secret holding
|
||||
OpenStack credentials
|
||||
properties:
|
||||
apiVersion:
|
||||
description: API version of the referent.
|
||||
type: string
|
||||
OS_DOMAIN_NAME:
|
||||
description: OsDomainName is the OpenStack domain name
|
||||
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
|
||||
OS_INSECURE:
|
||||
default: false
|
||||
description: OsInsecure is the flag to skip verification of the OpenStack
|
||||
TLS Certificate
|
||||
type: boolean
|
||||
OS_PASSWORD:
|
||||
description: OsPassword is the OpenStack password
|
||||
kind:
|
||||
description: |-
|
||||
Kind of the referent.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||||
type: string
|
||||
OS_REGION_NAME:
|
||||
description: OsRegionName is the OpenStack region name
|
||||
name:
|
||||
description: |-
|
||||
Name of the referent.
|
||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||
type: string
|
||||
OS_TENANT_NAME:
|
||||
description: OsTenantName is the OpenStack tenant name
|
||||
namespace:
|
||||
description: |-
|
||||
Namespace of the referent.
|
||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
|
||||
type: string
|
||||
OS_USERNAME:
|
||||
description: OsUsername is the OpenStack username
|
||||
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
|
||||
type: object
|
||||
status:
|
||||
description: OpenstackCredsStatus defines the observed state of OpenstackCreds
|
||||
@@ -497,9 +552,6 @@ spec:
|
||||
openstackValidationMessage:
|
||||
type: string
|
||||
openstackValidationStatus:
|
||||
description: |-
|
||||
INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
|
||||
Important: Run "make" to regenerate code after modifying this file
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
@@ -512,7 +564,7 @@ apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.15.0
|
||||
controller-gen.kubebuilder.io/version: v0.17.1
|
||||
name: storagemappings.vjailbreak.k8s.pf9.io
|
||||
spec:
|
||||
group: vjailbreak.k8s.pf9.io
|
||||
@@ -523,7 +575,11 @@ spec:
|
||||
singular: storagemapping
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
- additionalPrinterColumns:
|
||||
- jsonPath: .status.storageMappingValidationStatus
|
||||
name: Status
|
||||
type: string
|
||||
name: v1alpha1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: StorageMapping is the Schema for the storagemappings API
|
||||
@@ -549,6 +605,7 @@ spec:
|
||||
description: StorageMappingSpec defines the desired state of StorageMapping
|
||||
properties:
|
||||
storages:
|
||||
description: Storages is a list of storage mappings
|
||||
items:
|
||||
properties:
|
||||
source:
|
||||
@@ -581,7 +638,192 @@ apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.15.0
|
||||
controller-gen.kubebuilder.io/version: v0.17.1
|
||||
name: vjailbreaknodes.vjailbreak.k8s.pf9.io
|
||||
spec:
|
||||
group: vjailbreak.k8s.pf9.io
|
||||
names:
|
||||
kind: VjailbreakNode
|
||||
listKind: VjailbreakNodeList
|
||||
plural: vjailbreaknodes
|
||||
singular: vjailbreaknode
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- additionalPrinterColumns:
|
||||
- jsonPath: .status.phase
|
||||
name: Phase
|
||||
type: string
|
||||
- jsonPath: .status.vmIP
|
||||
name: VMIP
|
||||
type: string
|
||||
name: v1alpha1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: VjailbreakNode is the Schema for the vjailbreaknodes API
|
||||
properties:
|
||||
apiVersion:
|
||||
description: |-
|
||||
APIVersion defines the versioned schema of this representation of an object.
|
||||
Servers should convert recognized schemas to the latest internal value, and
|
||||
may reject unrecognized values.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
||||
type: string
|
||||
kind:
|
||||
description: |-
|
||||
Kind is a string value representing the REST resource this object represents.
|
||||
Servers may infer this from the endpoint the client submits requests to.
|
||||
Cannot be updated.
|
||||
In CamelCase.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
spec:
|
||||
description: Spec defines the desired state of VjailbreakNode
|
||||
properties:
|
||||
availableFlavors:
|
||||
description: AvailableFlavors is the list of available flavors in
|
||||
openstack
|
||||
items:
|
||||
description: |-
|
||||
Flavor represent (virtual) hardware configurations for server resources
|
||||
in a region.
|
||||
properties:
|
||||
OS-FLV-EXT-DATA:ephemeral:
|
||||
description: Ephemeral is the amount of ephemeral disk space,
|
||||
measured in GB.
|
||||
type: integer
|
||||
description:
|
||||
description: |-
|
||||
Description is a free form description of the flavor. Limited to
|
||||
65535 characters in length. Only printable characters are allowed.
|
||||
New in version 2.55
|
||||
type: string
|
||||
disk:
|
||||
description: Disk is the amount of root disk, measured in GB.
|
||||
type: integer
|
||||
id:
|
||||
description: ID is the flavor's unique ID.
|
||||
type: string
|
||||
name:
|
||||
description: Name is the name of the flavor.
|
||||
type: string
|
||||
os-flavor-access:is_public:
|
||||
description: IsPublic indicates whether the flavor is public.
|
||||
type: boolean
|
||||
ram:
|
||||
description: RAM is the amount of memory, measured in MB.
|
||||
type: integer
|
||||
rxtx_factor:
|
||||
description: RxTxFactor describes bandwidth alterations of the
|
||||
flavor.
|
||||
type: number
|
||||
vcpus:
|
||||
description: VCPUs indicates how many (virtual) CPUs are available
|
||||
for this flavor.
|
||||
type: integer
|
||||
required:
|
||||
- OS-FLV-EXT-DATA:ephemeral
|
||||
- description
|
||||
- disk
|
||||
- id
|
||||
- name
|
||||
- os-flavor-access:is_public
|
||||
- ram
|
||||
- rxtx_factor
|
||||
- vcpus
|
||||
type: object
|
||||
type: array
|
||||
nodeRole:
|
||||
description: NodeRole is the role assigned to the node
|
||||
type: string
|
||||
openstackCreds:
|
||||
description: OpenstackCreds is the credentials for Openstack Environment
|
||||
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
|
||||
openstackFlavorID:
|
||||
description: OpenstackFlavorID is the flavor of the VM
|
||||
type: string
|
||||
openstackImageID:
|
||||
description: OpenstackImageID is the image of the VM
|
||||
type: string
|
||||
required:
|
||||
- nodeRole
|
||||
- openstackCreds
|
||||
- openstackFlavorID
|
||||
- openstackImageID
|
||||
type: object
|
||||
status:
|
||||
description: Status defines the observed state of VjailbreakNode
|
||||
properties:
|
||||
activeMigrations:
|
||||
description: ActiveMigrations is the list of active migrations happening
|
||||
on the node
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
openstackUUID:
|
||||
description: OpenstackUUID is the UUID of the VM in OpenStack
|
||||
type: string
|
||||
phase:
|
||||
description: Phase is the current phase of the node
|
||||
type: string
|
||||
vmIP:
|
||||
description: VMIP is the IP address of the VM
|
||||
type: string
|
||||
required:
|
||||
- vmIP
|
||||
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: vmwarecreds.vjailbreak.k8s.pf9.io
|
||||
spec:
|
||||
group: vjailbreak.k8s.pf9.io
|
||||
@@ -592,7 +834,11 @@ spec:
|
||||
singular: vmwarecreds
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
- additionalPrinterColumns:
|
||||
- jsonPath: .status.vmwareValidationStatus
|
||||
name: Status
|
||||
type: string
|
||||
name: v1alpha1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: VMwareCreds is the Schema for the vmwarecreds API
|
||||
@@ -617,19 +863,51 @@ spec:
|
||||
spec:
|
||||
description: VMwareCredsSpec defines the desired state of VMwareCreds
|
||||
properties:
|
||||
VCENTER_HOST:
|
||||
secretRef:
|
||||
description: |-
|
||||
INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
|
||||
Important: Run "make" to regenerate code after modifying this file
|
||||
properties:
|
||||
apiVersion:
|
||||
description: API version of the referent.
|
||||
type: string
|
||||
VCENTER_INSECURE:
|
||||
type: boolean
|
||||
VCENTER_PASSWORD:
|
||||
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
|
||||
VCENTER_USERNAME:
|
||||
kind:
|
||||
description: |-
|
||||
Kind of the referent.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||||
type: string
|
||||
required:
|
||||
- VCENTER_HOST
|
||||
- VCENTER_INSECURE
|
||||
- VCENTER_PASSWORD
|
||||
- VCENTER_USERNAME
|
||||
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
|
||||
type: object
|
||||
status:
|
||||
description: VMwareCredsStatus defines the observed state of VMwareCreds
|
||||
@@ -707,6 +985,8 @@ rules:
|
||||
- ""
|
||||
resources:
|
||||
- configmaps
|
||||
- pods
|
||||
- secrets
|
||||
verbs:
|
||||
- create
|
||||
- delete
|
||||
@@ -726,14 +1006,11 @@ rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods
|
||||
- nodes
|
||||
verbs:
|
||||
- create
|
||||
- delete
|
||||
- get
|
||||
- list
|
||||
- patch
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
@@ -743,159 +1020,28 @@ rules:
|
||||
- get
|
||||
- patch
|
||||
- update
|
||||
- apiGroups:
|
||||
- batch
|
||||
resources:
|
||||
- jobs
|
||||
verbs:
|
||||
- create
|
||||
- delete
|
||||
- get
|
||||
- list
|
||||
- patch
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- migrationplans
|
||||
verbs:
|
||||
- create
|
||||
- delete
|
||||
- get
|
||||
- list
|
||||
- patch
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- migrationplans/finalizers
|
||||
verbs:
|
||||
- update
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- migrationplans/status
|
||||
verbs:
|
||||
- get
|
||||
- patch
|
||||
- update
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- migrations
|
||||
verbs:
|
||||
- create
|
||||
- delete
|
||||
- get
|
||||
- list
|
||||
- patch
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- migrations/status
|
||||
verbs:
|
||||
- get
|
||||
- patch
|
||||
- update
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- migrationtemplates
|
||||
verbs:
|
||||
- create
|
||||
- delete
|
||||
- get
|
||||
- list
|
||||
- patch
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- migrationtemplates/finalizers
|
||||
verbs:
|
||||
- update
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- migrationtemplates/status
|
||||
verbs:
|
||||
- get
|
||||
- patch
|
||||
- update
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- networkmappings
|
||||
verbs:
|
||||
- create
|
||||
- delete
|
||||
- get
|
||||
- list
|
||||
- patch
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- networkmappings/finalizers
|
||||
verbs:
|
||||
- update
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- networkmappings/status
|
||||
verbs:
|
||||
- get
|
||||
- patch
|
||||
- update
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- openstackcreds
|
||||
verbs:
|
||||
- create
|
||||
- delete
|
||||
- get
|
||||
- list
|
||||
- patch
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- openstackcreds/finalizers
|
||||
verbs:
|
||||
- update
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- openstackcreds/status
|
||||
verbs:
|
||||
- get
|
||||
- patch
|
||||
- update
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- storagemappings
|
||||
verbs:
|
||||
- create
|
||||
- delete
|
||||
- get
|
||||
- list
|
||||
- patch
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- storagemappings/finalizers
|
||||
verbs:
|
||||
- update
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- storagemappings/status
|
||||
verbs:
|
||||
- get
|
||||
- patch
|
||||
- update
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- vjailbreaknodes
|
||||
- vmwarecreds
|
||||
verbs:
|
||||
- create
|
||||
@@ -908,12 +1054,25 @@ rules:
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- migrationplans/finalizers
|
||||
- migrationtemplates/finalizers
|
||||
- networkmappings/finalizers
|
||||
- openstackcreds/finalizers
|
||||
- storagemappings/finalizers
|
||||
- vjailbreaknodes/finalizers
|
||||
- vmwarecreds/finalizers
|
||||
verbs:
|
||||
- update
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- migrationplans/status
|
||||
- migrations/status
|
||||
- migrationtemplates/status
|
||||
- networkmappings/status
|
||||
- openstackcreds/status
|
||||
- storagemappings/status
|
||||
- vjailbreaknodes/status
|
||||
- vmwarecreds/status
|
||||
verbs:
|
||||
- get
|
||||
@@ -1222,6 +1381,56 @@ rules:
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
app.kubernetes.io/name: migration
|
||||
name: migration-vjailbreaknode-editor-role
|
||||
rules:
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- vjailbreaknodes
|
||||
verbs:
|
||||
- create
|
||||
- delete
|
||||
- get
|
||||
- list
|
||||
- patch
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- vjailbreaknodes/status
|
||||
verbs:
|
||||
- get
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
app.kubernetes.io/name: migration
|
||||
name: migration-vjailbreaknode-viewer-role
|
||||
rules:
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- vjailbreaknodes
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- vjailbreak.k8s.pf9.io
|
||||
resources:
|
||||
- vjailbreaknodes/status
|
||||
verbs:
|
||||
- get
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
@@ -1324,13 +1533,20 @@ spec:
|
||||
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: platform9/vjailbreak-controller:v0.1
|
||||
image: quay.io/platform9/vjailbreak-controller:v0.1.7
|
||||
imagePullPolicy: IfNotPresent
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
@@ -1354,9 +1570,17 @@ spec:
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
dnsPolicy: ClusterFirstWithHostNet
|
||||
volumeMounts:
|
||||
- mountPath: /etc/pf9/k3s
|
||||
name: master-token
|
||||
hostNetwork: true
|
||||
securityContext:
|
||||
runAsNonRoot: true
|
||||
runAsGroup: 0
|
||||
runAsUser: 0
|
||||
serviceAccountName: migration-controller-manager
|
||||
terminationGracePeriodSeconds: 10
|
||||
volumes:
|
||||
- hostPath:
|
||||
path: /var/lib/rancher/k3s/server
|
||||
type: Directory
|
||||
name: master-token
|
||||
|
||||
+11
-2
@@ -62,13 +62,22 @@ metadata:
|
||||
namespace: default
|
||||
annotations:
|
||||
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
|
||||
nginx.ingress.kubernetes.io/rewrite-target: /$1
|
||||
nginx.ingress.kubernetes.io/use-regex: "true"
|
||||
spec:
|
||||
ingressClassName: nginx
|
||||
rules:
|
||||
- http:
|
||||
paths:
|
||||
- path: /apis
|
||||
pathType: Prefix
|
||||
- path: /(apis.*)
|
||||
pathType: ImplementationSpecific
|
||||
backend:
|
||||
service:
|
||||
name: kubernetes
|
||||
port:
|
||||
number: 443
|
||||
- path: /(api.*)
|
||||
pathType: ImplementationSpecific
|
||||
backend:
|
||||
service:
|
||||
name: kubernetes
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
apiVersion: apps/v1
|
||||
kind: DaemonSet
|
||||
metadata:
|
||||
name: sync-daemon
|
||||
namespace: kube-system
|
||||
labels:
|
||||
app: sync-daemon
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: sync-daemon
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: sync-daemon
|
||||
spec:
|
||||
hostNetwork: true
|
||||
containers:
|
||||
- name: sync-container
|
||||
image: alpine:latest
|
||||
securityContext:
|
||||
privileged: true
|
||||
ports:
|
||||
- containerPort: 873
|
||||
volumeMounts:
|
||||
- name: pf9-env
|
||||
mountPath: /etc/pf9
|
||||
readOnly: true
|
||||
- name: vmwarelib
|
||||
mountPath: /home/ubuntu/vmware-vix-disklib-distrib
|
||||
command: ["/bin/sh", "-c"]
|
||||
args:
|
||||
- |
|
||||
# Install required packages
|
||||
apk add --no-cache rsync coreutils grep;
|
||||
# Extract variables from environment file
|
||||
IS_MASTER=$(grep -E '^export IS_MASTER=' /etc/pf9/k3s.env | cut -d'=' -f2)
|
||||
MASTER_IP=$(grep -E '^export MASTER_IP=' /etc/pf9/k3s.env | cut -d'=' -f2)
|
||||
if [ "$IS_MASTER" = "true" ]; then
|
||||
echo "Master node detected. IP: $MASTER_IP"
|
||||
# Start rsync daemon using the pre-created config file
|
||||
echo "Starting rsync daemon..."
|
||||
rsync --daemon --config=/etc/pf9/rsyncd.conf --no-detach
|
||||
# Verify rsync daemon is running
|
||||
if ps aux | grep rsync | grep -v grep; then
|
||||
echo "rsync daemon is running."
|
||||
else
|
||||
echo "Failed to start rsync daemon."
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "Worker node detected. Syncing from Master..."
|
||||
while true; do
|
||||
mkdir -p /home/ubuntu/vmware-vix-disklib-distrib/
|
||||
echo "Syncing from rsync://${MASTER_IP}"
|
||||
rsync -avz rsync://${MASTER_IP}/vmwarelib/ /home/ubuntu/vmware-vix-disklib-distrib/
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Sync completed successfully."
|
||||
else
|
||||
echo "Sync failed. Retrying in 60 seconds..."
|
||||
fi
|
||||
sleep 20 # Retry every 60 seconds
|
||||
done
|
||||
fi
|
||||
volumes:
|
||||
- name: pf9-env
|
||||
hostPath:
|
||||
path: /etc/pf9
|
||||
type: Directory
|
||||
- name: vmwarelib
|
||||
hostPath:
|
||||
path: /home/ubuntu/vmware-vix-disklib-distrib
|
||||
type: DirectoryOrCreate
|
||||
@@ -0,0 +1,3 @@
|
||||
export IS_MASTER=true
|
||||
export MASTER_IP=
|
||||
export K3S_TOKEN=
|
||||
@@ -0,0 +1,15 @@
|
||||
# Rsync Daemon Configuration
|
||||
uid = root
|
||||
gid = root
|
||||
use chroot = no
|
||||
read only = no
|
||||
max connections = 5
|
||||
log file = /var/log/rsync.log
|
||||
timeout = 300
|
||||
|
||||
[vmwarelib]
|
||||
path = /home/ubuntu/vmware-vix-disklib-distrib
|
||||
comment = VMware VIX Disk Library
|
||||
read only = no
|
||||
write only = no
|
||||
list = yes
|
||||
@@ -0,0 +1,13 @@
|
||||
# v0.1.3
|
||||
|
||||
- **Tag:** `v0.1.3`
|
||||
- **Published:** 2025-02-12T11:56:12Z
|
||||
- **Source release:** https://github.com/platform9/vjailbreak/releases/tag/v0.1.3
|
||||
|
||||
## Release Notes
|
||||
|
||||
## What's Changed
|
||||
* Fix ui to accept OS_INSECURE from rc file by @spai-p9 in https://github.com/platform9/vjailbreak/pull/177
|
||||
|
||||
|
||||
**Full Changelog**: https://github.com/platform9/vjailbreak/compare/v0.1.2...v0.1.3
|
||||
@@ -0,0 +1,28 @@
|
||||
# v0.1.4
|
||||
|
||||
- **Tag:** `v0.1.4`
|
||||
- **Published:** 2025-02-21T13:51:39Z
|
||||
- **Source release:** https://github.com/platform9/vjailbreak/releases/tag/v0.1.4
|
||||
|
||||
## Release Notes
|
||||
|
||||
## What's Changed
|
||||
* Fix GH workflow runs on release event by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/147
|
||||
* workflow dispatch manual by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/148
|
||||
* Update README.md by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/149
|
||||
* Update model.ts by @markp93 in https://github.com/platform9/vjailbreak/pull/152
|
||||
* Added delete migration functionality to the migration table by @patil-pratik-87 in https://github.com/platform9/vjailbreak/pull/155
|
||||
* Adding workers nodes to the vjailbreak by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/161
|
||||
* update package.json by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/172
|
||||
* Update issue templates by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/158
|
||||
* Update bug_report.yaml by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/175
|
||||
* Migration data copy progress % and migration phases by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/167
|
||||
* Nit: consistent referring to company VMware by @ericwb in https://github.com/platform9/vjailbreak/pull/164
|
||||
* Update README.md by @markp93 in https://github.com/platform9/vjailbreak/pull/170
|
||||
* release version v0.1.4 (release) by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/196
|
||||
|
||||
## New Contributors
|
||||
* @markp93 made their first contribution in https://github.com/platform9/vjailbreak/pull/152
|
||||
* @ericwb made their first contribution in https://github.com/platform9/vjailbreak/pull/164
|
||||
|
||||
**Full Changelog**: https://github.com/platform9/vjailbreak/compare/v0.1.3...v0.1.4
|
||||
@@ -0,0 +1,29 @@
|
||||
# v0.1.5
|
||||
|
||||
- **Tag:** `v0.1.5`
|
||||
- **Published:** 2025-03-04T18:18:51Z
|
||||
- **Source release:** https://github.com/platform9/vjailbreak/releases/tag/v0.1.5
|
||||
|
||||
## Release Notes
|
||||
|
||||
## What's Changed
|
||||
* Accept vmware and openstack creds via secert by @spai-p9 in https://github.com/platform9/vjailbreak/pull/228
|
||||
* Create and Reuse existing open stack and vmware creds with other mino… by @patil-pratik-87 in https://github.com/platform9/vjailbreak/pull/237
|
||||
* Support OS installed on LV by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/227
|
||||
* Adding templates for github wiki by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/226
|
||||
* resolving lint issues by @patil-pratik-87 in https://github.com/platform9/vjailbreak/pull/239
|
||||
* resolving lint issues by @patil-pratik-87 in https://github.com/platform9/vjailbreak/pull/240
|
||||
* update image tag to v0.1.5 by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/242
|
||||
* Base documentation update for vJailbreak by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/243
|
||||
* Update checkout action to generate release notes by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/249
|
||||
* Update checkout action to generate release notes by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/250
|
||||
* Ingress changes to call k8s apis by @spai-p9 in https://github.com/platform9/vjailbreak/pull/252
|
||||
* Reformatted readme by @damian-pf9 in https://github.com/platform9/vjailbreak/pull/206
|
||||
|
||||
## New Contributors
|
||||
* @damian-pf9 made their first contribution in https://github.com/platform9/vjailbreak/pull/206
|
||||
* @bhavin192 made their first contribution
|
||||
* @anmolsachan made their first contribution
|
||||
|
||||
**Full Changelog**: https://github.com/platform9/vjailbreak/compare/v0.1.4...v0.1.5
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
# v0.1.6
|
||||
|
||||
- **Tag:** `v0.1.6`
|
||||
- **Published:** 2025-03-17T09:51:00Z
|
||||
- **Source release:** https://github.com/platform9/vjailbreak/releases/tag/v0.1.6
|
||||
|
||||
## Release Notes
|
||||
|
||||
## What's Changed
|
||||
* Update the correct gh-pages by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/265
|
||||
* Update the correct icon for gh-pages by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/266
|
||||
* Update the correct version for gh-pages by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/267
|
||||
* ( release ) UI improvements and Backend fixes. by @spai-p9 in https://github.com/platform9/vjailbreak/pull/281
|
||||
* Update release notes for v0.1.6 by @github-actions in https://github.com/platform9/vjailbreak/pull/282
|
||||
|
||||
|
||||
**Full Changelog**: https://github.com/platform9/vjailbreak/compare/v0.1.5...v0.1.6
|
||||
@@ -0,0 +1,40 @@
|
||||
# v0.1.7
|
||||
|
||||
- **Tag:** `v0.1.7`
|
||||
- **Published:** 2025-03-26T09:01:10Z
|
||||
- **Source release:** https://github.com/platform9/vjailbreak/releases/tag/v0.1.7
|
||||
|
||||
## Release Notes
|
||||
|
||||
## What's Changed
|
||||
* Update video link to latest by @anmolsachan in https://github.com/platform9/vjailbreak/pull/290
|
||||
* fix readme for openstackcreds and vmware creds by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/288
|
||||
* ( release ) Change base image to ubuntu base image, reduced image size. by @spai-p9 in https://github.com/platform9/vjailbreak/pull/286
|
||||
* Ignore Failed phase on retry by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/289
|
||||
* api cosmetic fixes by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/274
|
||||
* Support rollback for failed VM by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/300
|
||||
* check VM status before marking migration as complete by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/295
|
||||
* UI: Api cosmetic changes UI by @patil-pratik-87 in https://github.com/platform9/vjailbreak/pull/297
|
||||
* UI: Fix active migration by @spai-p9 in https://github.com/platform9/vjailbreak/pull/304
|
||||
* fix mocks, unit tests by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/308
|
||||
* block openstackcreds deletion for master creds by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/303
|
||||
* UI: Implement a new credential addition workflow, and remove the creds addition from MigrationForm and Scaleup drawer by @patil-pratik-87 in https://github.com/platform9/vjailbreak/pull/298
|
||||
* Easy debug config by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/287
|
||||
* resolved lint issues by @patil-pratik-87 in https://github.com/platform9/vjailbreak/pull/311
|
||||
* 270 identically named source destination credentials arent displayed properly by @patil-pratik-87 in https://github.com/platform9/vjailbreak/pull/312
|
||||
* Actions enhancement: Build and push on every PR raised to main or release branch. by @spai-p9 in https://github.com/platform9/vjailbreak/pull/313
|
||||
* Heavily re-organized docs pages by @damian-pf9 in https://github.com/platform9/vjailbreak/pull/309
|
||||
* Update the docs github page by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/314
|
||||
* Sync VDDK across agents without any manual intervention by @spai-p9 in https://github.com/platform9/vjailbreak/pull/296
|
||||
* Fix versions and github actions by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/316
|
||||
* Fixed regression while updating cosmetic api changes, virtualmac… by @patil-pratik-87 in https://github.com/platform9/vjailbreak/pull/317
|
||||
* 0.1.7 release fixes by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/318
|
||||
* Build: Fix CGO Linking for libnbd Library in Build Process (release) by @spai-p9 in https://github.com/platform9/vjailbreak/pull/315
|
||||
* fix migration status with random pod ref name by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/320
|
||||
* UI: Disable scale down of a node when active migration is going on by @spai-p9 in https://github.com/platform9/vjailbreak/pull/319
|
||||
* release: Fix github action when PR raised from release branch by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/323
|
||||
* update astro action to use v4 by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/324
|
||||
* Add optional dependency by @spai-p9 in https://github.com/platform9/vjailbreak/pull/325
|
||||
|
||||
|
||||
**Full Changelog**: https://github.com/platform9/vjailbreak/compare/v0.1.6...v0.1.7
|
||||
Reference in New Issue
Block a user