From 45d3a141953ec217b36d8456e86426d6da81cf9c Mon Sep 17 00:00:00 2001 From: OmkarDeshpande7 Date: Tue, 15 Sep 2026 22:45:03 +0530 Subject: [PATCH] Add release v0.1.7 --- deploy/00crds.yaml | 98 +++++++++++++++++++++------- image_builder/configs/daemonset.yaml | 73 +++++++++++++++++++++ image_builder/configs/rsyncd.conf | 15 +++++ releases/v0.1.7.md | 40 ++++++++++++ 4 files changed, 201 insertions(+), 25 deletions(-) create mode 100644 image_builder/configs/daemonset.yaml create mode 100644 image_builder/configs/rsyncd.conf create mode 100644 releases/v0.1.7.md diff --git a/deploy/00crds.yaml b/deploy/00crds.yaml index ec7766f..171b071 100644 --- a/deploy/00crds.yaml +++ b/deploy/00crds.yaml @@ -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 @@ -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 @@ -187,7 +198,7 @@ spec: status: description: Status defines the observed state of Migration properties: - AgentName: + agentName: description: AgentName is the name of the agent where migration is running type: string @@ -387,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 @@ -457,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 @@ -556,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 @@ -582,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: @@ -625,7 +649,14 @@ spec: singular: vjailbreaknode scope: Namespaced versions: - - name: v1alpha1 + - 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 @@ -650,7 +681,7 @@ spec: spec: description: Spec defines the desired state of VjailbreakNode properties: - availableflavors: + availableFlavors: description: AvailableFlavors is the list of available flavors in openstack items: @@ -703,13 +734,10 @@ spec: - vcpus type: object type: array - imageid: - description: OpenstackImageID is the image of the VM - type: string - noderole: + nodeRole: description: NodeRole is the role assigned to the node type: string - openstackcreds: + openstackCreds: description: OpenstackCreds is the credentials for Openstack Environment properties: apiVersion: @@ -752,34 +780,38 @@ spec: type: string type: object x-kubernetes-map-type: atomic - openstackflavorid: + 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 + - nodeRole + - openstackCreds + - openstackFlavorID + - openstackImageID type: object status: description: Status defines the observed state of VjailbreakNode properties: - activemigrations: + activeMigrations: description: ActiveMigrations is the list of active migrations happening on the node items: type: string type: array - openstackuuid: + 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: + vmIP: description: VMIP is the IP address of the VM type: string required: - - vmip + - vmIP type: object type: object served: true @@ -802,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 @@ -984,6 +1020,18 @@ rules: - get - patch - update +- apiGroups: + - batch + resources: + - jobs + verbs: + - create + - delete + - get + - list + - patch + - update + - watch - apiGroups: - vjailbreak.k8s.pf9.io resources: @@ -1498,7 +1546,7 @@ spec: - --health-probe-bind-address=:8081 command: - /manager - image: quay.io/platform9/vjailbreak-controller:v0.1.5 + image: quay.io/platform9/vjailbreak-controller:v0.1.7 imagePullPolicy: IfNotPresent livenessProbe: httpGet: diff --git a/image_builder/configs/daemonset.yaml b/image_builder/configs/daemonset.yaml new file mode 100644 index 0000000..25acb4b --- /dev/null +++ b/image_builder/configs/daemonset.yaml @@ -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 \ No newline at end of file diff --git a/image_builder/configs/rsyncd.conf b/image_builder/configs/rsyncd.conf new file mode 100644 index 0000000..355efc0 --- /dev/null +++ b/image_builder/configs/rsyncd.conf @@ -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 diff --git a/releases/v0.1.7.md b/releases/v0.1.7.md new file mode 100644 index 0000000..8914b5f --- /dev/null +++ b/releases/v0.1.7.md @@ -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