Compare commits

...
3 Commits
Author SHA1 Message Date
OmkarDeshpande7 45d3a14195 Add release v0.1.7 2026-09-15 22:45:03 +05:30
OmkarDeshpande7 9b38fd3b00 Add release v0.1.6 2026-09-15 22:44:54 +05:30
OmkarDeshpande7 1faa3a5f45 Add release v0.1.5 2026-09-15 22:44:45 +05:30
7 changed files with 349 additions and 67 deletions
+155 -56
View File
@@ -22,7 +22,11 @@ spec:
singular: migrationplan singular: migrationplan
scope: Namespaced scope: Namespaced
versions: versions:
- name: v1alpha1 - additionalPrinterColumns:
- jsonPath: .status.migrationStatus
name: Status
type: string
name: v1alpha1
schema: schema:
openAPIV3Schema: openAPIV3Schema:
description: MigrationPlan is the Schema for the migrationplans API description: MigrationPlan is the Schema for the migrationplans API
@@ -97,7 +101,7 @@ spec:
type: string type: string
retry: retry:
type: boolean type: boolean
virtualmachines: virtualMachines:
items: items:
items: items:
type: string type: string
@@ -106,7 +110,7 @@ spec:
required: required:
- migrationStrategy - migrationStrategy
- migrationTemplate - migrationTemplate
- virtualmachines - virtualMachines
type: object type: object
status: status:
description: MigrationPlanStatus defines the observed state of MigrationPlan description: MigrationPlanStatus defines the observed state of MigrationPlan
@@ -140,7 +144,14 @@ spec:
singular: migration singular: migration
scope: Namespaced scope: Namespaced
versions: versions:
- name: v1alpha1 - additionalPrinterColumns:
- jsonPath: .status.phase
name: Phase
type: string
- jsonPath: .status.agentName
name: AgentName
type: string
name: v1alpha1
schema: schema:
openAPIV3Schema: openAPIV3Schema:
description: Migration is the Schema for the migrations API description: Migration is the Schema for the migrations API
@@ -187,7 +198,7 @@ spec:
status: status:
description: Status defines the observed state of Migration description: Status defines the observed state of Migration
properties: properties:
AgentName: agentName:
description: AgentName is the name of the agent where migration is description: AgentName is the name of the agent where migration is
running running
type: string type: string
@@ -387,7 +398,11 @@ spec:
singular: networkmapping singular: networkmapping
scope: Namespaced scope: Namespaced
versions: versions:
- name: v1alpha1 - additionalPrinterColumns:
- jsonPath: .status.NetworkmappingValidationStatus
name: Status
type: string
name: v1alpha1
schema: schema:
openAPIV3Schema: openAPIV3Schema:
description: NetworkMapping is the Schema for the networkmappings API description: NetworkMapping is the Schema for the networkmappings API
@@ -457,7 +472,11 @@ spec:
singular: openstackcreds singular: openstackcreds
scope: Namespaced scope: Namespaced
versions: versions:
- name: v1alpha1 - additionalPrinterColumns:
- jsonPath: .status.openstackValidationStatus
name: Status
type: string
name: v1alpha1
schema: schema:
openAPIV3Schema: openAPIV3Schema:
description: OpenstackCreds is the Schema for the openstackcreds API description: OpenstackCreds is the Schema for the openstackcreds API
@@ -482,29 +501,50 @@ spec:
spec: spec:
description: OpenstackCredsSpec defines the desired state of OpenstackCreds description: OpenstackCredsSpec defines the desired state of OpenstackCreds
properties: properties:
OS_AUTH_URL: secretRef:
description: OsAuthURL is the OpenStack authentication URL description: SecretRef is the reference to the Kubernetes secret holding
OpenStack credentials
properties:
apiVersion:
description: API version of the referent.
type: string type: string
OS_DOMAIN_NAME: fieldPath:
description: OsDomainName is the OpenStack domain name 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 type: string
OS_INSECURE: kind:
default: false description: |-
description: OsInsecure is the flag to skip verification of the OpenStack Kind of the referent.
TLS Certificate More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: boolean
OS_PASSWORD:
description: OsPassword is the OpenStack password
type: string type: string
OS_REGION_NAME: name:
description: OsRegionName is the OpenStack region name description: |-
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string type: string
OS_TENANT_NAME: namespace:
description: OsTenantName is the OpenStack tenant name description: |-
Namespace of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
type: string type: string
OS_USERNAME: resourceVersion:
description: OsUsername is the OpenStack username 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 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 type: object
status: status:
description: OpenstackCredsStatus defines the observed state of OpenstackCreds description: OpenstackCredsStatus defines the observed state of OpenstackCreds
@@ -512,9 +552,6 @@ spec:
openstackValidationMessage: openstackValidationMessage:
type: string type: string
openstackValidationStatus: openstackValidationStatus:
description: |-
INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
Important: Run "make" to regenerate code after modifying this file
type: string type: string
type: object type: object
type: object type: object
@@ -538,7 +575,11 @@ spec:
singular: storagemapping singular: storagemapping
scope: Namespaced scope: Namespaced
versions: versions:
- name: v1alpha1 - additionalPrinterColumns:
- jsonPath: .status.storageMappingValidationStatus
name: Status
type: string
name: v1alpha1
schema: schema:
openAPIV3Schema: openAPIV3Schema:
description: StorageMapping is the Schema for the storagemappings API description: StorageMapping is the Schema for the storagemappings API
@@ -564,6 +605,7 @@ spec:
description: StorageMappingSpec defines the desired state of StorageMapping description: StorageMappingSpec defines the desired state of StorageMapping
properties: properties:
storages: storages:
description: Storages is a list of storage mappings
items: items:
properties: properties:
source: source:
@@ -607,7 +649,14 @@ spec:
singular: vjailbreaknode singular: vjailbreaknode
scope: Namespaced scope: Namespaced
versions: versions:
- name: v1alpha1 - additionalPrinterColumns:
- jsonPath: .status.phase
name: Phase
type: string
- jsonPath: .status.vmIP
name: VMIP
type: string
name: v1alpha1
schema: schema:
openAPIV3Schema: openAPIV3Schema:
description: VjailbreakNode is the Schema for the vjailbreaknodes API description: VjailbreakNode is the Schema for the vjailbreaknodes API
@@ -632,7 +681,7 @@ spec:
spec: spec:
description: Spec defines the desired state of VjailbreakNode description: Spec defines the desired state of VjailbreakNode
properties: properties:
availableflavors: availableFlavors:
description: AvailableFlavors is the list of available flavors in description: AvailableFlavors is the list of available flavors in
openstack openstack
items: items:
@@ -685,13 +734,10 @@ spec:
- vcpus - vcpus
type: object type: object
type: array type: array
imageid: nodeRole:
description: OpenstackImageID is the image of the VM
type: string
noderole:
description: NodeRole is the role assigned to the node description: NodeRole is the role assigned to the node
type: string type: string
openstackcreds: openstackCreds:
description: OpenstackCreds is the credentials for Openstack Environment description: OpenstackCreds is the credentials for Openstack Environment
properties: properties:
apiVersion: apiVersion:
@@ -734,34 +780,38 @@ spec:
type: string type: string
type: object type: object
x-kubernetes-map-type: atomic x-kubernetes-map-type: atomic
openstackflavorid: openstackFlavorID:
description: OpenstackFlavorID is the flavor of the VM description: OpenstackFlavorID is the flavor of the VM
type: string type: string
openstackImageID:
description: OpenstackImageID is the image of the VM
type: string
required: required:
- noderole - nodeRole
- openstackcreds - openstackCreds
- openstackflavorid - openstackFlavorID
- openstackImageID
type: object type: object
status: status:
description: Status defines the observed state of VjailbreakNode description: Status defines the observed state of VjailbreakNode
properties: properties:
activemigrations: activeMigrations:
description: ActiveMigrations is the list of active migrations happening description: ActiveMigrations is the list of active migrations happening
on the node on the node
items: items:
type: string type: string
type: array type: array
openstackuuid: openstackUUID:
description: OpenstackUUID is the UUID of the VM in OpenStack description: OpenstackUUID is the UUID of the VM in OpenStack
type: string type: string
phase: phase:
description: Phase is the current phase of the node description: Phase is the current phase of the node
type: string type: string
vmip: vmIP:
description: VMIP is the IP address of the VM description: VMIP is the IP address of the VM
type: string type: string
required: required:
- vmip - vmIP
type: object type: object
type: object type: object
served: true served: true
@@ -784,7 +834,11 @@ spec:
singular: vmwarecreds singular: vmwarecreds
scope: Namespaced scope: Namespaced
versions: versions:
- name: v1alpha1 - additionalPrinterColumns:
- jsonPath: .status.vmwareValidationStatus
name: Status
type: string
name: v1alpha1
schema: schema:
openAPIV3Schema: openAPIV3Schema:
description: VMwareCreds is the Schema for the vmwarecreds API description: VMwareCreds is the Schema for the vmwarecreds API
@@ -809,19 +863,51 @@ spec:
spec: spec:
description: VMwareCredsSpec defines the desired state of VMwareCreds description: VMwareCredsSpec defines the desired state of VMwareCreds
properties: 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 type: string
VCENTER_INSECURE: fieldPath:
type: boolean description: |-
VCENTER_PASSWORD: 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 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 type: string
required: name:
- VCENTER_HOST description: |-
- VCENTER_INSECURE Name of the referent.
- VCENTER_PASSWORD More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- VCENTER_USERNAME 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 type: object
status: status:
description: VMwareCredsStatus defines the observed state of VMwareCreds description: VMwareCredsStatus defines the observed state of VMwareCreds
@@ -900,6 +986,7 @@ rules:
resources: resources:
- configmaps - configmaps
- pods - pods
- secrets
verbs: verbs:
- create - create
- delete - delete
@@ -933,6 +1020,18 @@ rules:
- get - get
- patch - patch
- update - update
- apiGroups:
- batch
resources:
- jobs
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups: - apiGroups:
- vjailbreak.k8s.pf9.io - vjailbreak.k8s.pf9.io
resources: resources:
@@ -1439,7 +1538,7 @@ spec:
requiredDuringSchedulingIgnoredDuringExecution: requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms: nodeSelectorTerms:
- matchExpressions: - matchExpressions:
- key: node-role.kubernetes.io/master - key: node-role.kubernetes.io/control-plane
operator: Exists operator: Exists
containers: containers:
- args: - args:
@@ -1447,7 +1546,7 @@ spec:
- --health-probe-bind-address=:8081 - --health-probe-bind-address=:8081
command: command:
- /manager - /manager
image: quay.io/platform9/vjailbreak-controller:v0.1.4 image: quay.io/platform9/vjailbreak-controller:v0.1.7
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
livenessProbe: livenessProbe:
httpGet: httpGet:
+11 -2
View File
@@ -62,13 +62,22 @@ metadata:
namespace: default namespace: default
annotations: annotations:
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
nginx.ingress.kubernetes.io/rewrite-target: /$1
nginx.ingress.kubernetes.io/use-regex: "true"
spec: spec:
ingressClassName: nginx ingressClassName: nginx
rules: rules:
- http: - http:
paths: paths:
- path: /apis - path: /(apis.*)
pathType: Prefix pathType: ImplementationSpecific
backend:
service:
name: kubernetes
port:
number: 443
- path: /(api.*)
pathType: ImplementationSpecific
backend: backend:
service: service:
name: kubernetes name: kubernetes
+73
View File
@@ -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
+15
View File
@@ -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
+29
View File
@@ -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
+17
View File
@@ -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
+40
View File
@@ -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