From 904b413cd5643b7d79fc6781b45fc9e69b291de3 Mon Sep 17 00:00:00 2001 From: Celia Amador Date: Fri, 13 Mar 2026 09:33:34 +0100 Subject: [PATCH] OCPBUGS-66147: Make folder field optional for vsphere --- .../src/components/VSphereConnectionForm.tsx | 1 - .../src/components/VSphereConnectionModal.tsx | 1 - frontend/packages/vsphere-plugin/src/components/persist.ts | 7 ++++++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/frontend/packages/vsphere-plugin/src/components/VSphereConnectionForm.tsx b/frontend/packages/vsphere-plugin/src/components/VSphereConnectionForm.tsx index 1b18dbb5a6f..991b8b7218a 100644 --- a/frontend/packages/vsphere-plugin/src/components/VSphereConnectionForm.tsx +++ b/frontend/packages/vsphere-plugin/src/components/VSphereConnectionForm.tsx @@ -141,7 +141,6 @@ export const VSphereConnectionForm = () => { } /> } - isRequired fieldId="connection-folder" > diff --git a/frontend/packages/vsphere-plugin/src/components/VSphereConnectionModal.tsx b/frontend/packages/vsphere-plugin/src/components/VSphereConnectionModal.tsx index 1e8696e390c..6bd57be48d9 100644 --- a/frontend/packages/vsphere-plugin/src/components/VSphereConnectionModal.tsx +++ b/frontend/packages/vsphere-plugin/src/components/VSphereConnectionModal.tsx @@ -121,7 +121,6 @@ const validationSchema = Yup.lazy((values: ConnectionFormFormikValues) => ) .matches(datastoreRegex, `Must match regex ${datastoreRegex}`), folder: Yup.string() - .required('Virtual Machine Folder is required.') .test('Correct prefix', `Must start with /${values.datacenter}/vm/`, (value: string) => { if (!value || !values.datacenter) { return true; diff --git a/frontend/packages/vsphere-plugin/src/components/persist.ts b/frontend/packages/vsphere-plugin/src/components/persist.ts index 4b47866eebf..790210ec652 100644 --- a/frontend/packages/vsphere-plugin/src/components/persist.ts +++ b/frontend/packages/vsphere-plugin/src/components/persist.ts @@ -503,7 +503,12 @@ const getPersistInfrastructureOp = async ( if (values.network) { vCenterDomainCfg.topology.networks = [values.network]; } - vCenterDomainCfg.topology.folder = values.folder; + // Folder is optional, so we need to handle the case where it's unset + if (values.folder) { + vCenterDomainCfg.topology.folder = values.folder; + } else { + delete vCenterDomainCfg.topology.folder; + } vCenterDomainCfg.topology.resourcePool = getInfrastructureResourcePoolPath( values,