kubermatic / kubermatic/machine-controller

vSphere Datastore Cluster Support Fails with "spec.host" Error When Using Multiple Compute Clusters

Open
#1,983 6 comments 0 reactions 0 assignees View on GitHub
customer-request kind/bug sig/cluster-management
Dominant language
Go
Stars
326
Forks
138
Avg merge
2d 46m
Merged PRs (30d)
12

Description

## Issue

Customers attempting to provision VMs using vSphere datastore clusters encounter provisioning failures. When a MachineDeployment is configured to use a datastore cluster instead of a specific datastore path, machine-controller cannot successfully create virtual machines. The error message displayed is: `failed to resolve datastore: error occurred while getting storage placement recommendation: ServerFaultCode: A specified parameter was not correct: spec.host`. This occurs regardless of whether the vSphere compute cluster is correctly specified in the configuration. The issue manifests when customers try to leverage Storage DRS capabilities by using datastore clusters for automated storage placement, but machine-controller is unable to complete the storage placement request to vCenter. Even after ensuring all required fields like `cluster` are properly configured, VM provisioning continues to fail when datastore clusters are used, forcing customers to fall back to specifying individual datastore paths as a workaround.

## Impact to the Customer

This bug blocks customers from using vSphere datastore clusters, which is a key feature for managing storage in production environments. Instead of letting vSphere automatically choose the best datastore from a cluster, customers have to manually specify exact datastore paths. This means they lose the benefits of automated storage management, like automatic load balancing and the ability to add or remove datastores without changing their configurations. The workaround of using specific datastore paths is tedious and defeats the whole purpose of having datastore clusters in the first place. For customers running multiple vSphere clusters, this becomes even more painful as they have to manually keep track of different datastore paths across all their clusters, making it hard to scale and maintain. It also makes disaster recovery and capacity planning more difficult since they can't rely on vSphere to automatically allocate storage based on what's available.

## KKP version
v2.28

Contributor guide

Open the contributing guide

Research direction

No source files or tests are named. Start by reproducing VM provisioning with a datastore cluster and multiple compute clusters, then trace the machine-controller request to vCenter's storage placement recommendation where the spec.host error appears. Done means datastore-cluster provisioning succeeds without requiring an individual datastore path.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cloud, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.