EKS-A deployment without manual steps in case of 2 vsphere Datacenter
- Dominant language
- Go
- Stars
- 2.1k
- Forks
- 328
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 9
Description
**What happened**:
Trying to deploy a cluster to vSphere environment with 2 Datacenters, the following error occurs:
Validation failed {"validation": "vsphere Provider setup is valid", "error": "failed deploying template: error deploying template: govc: please specify a datacenter\n", "remediation": ""}
I've seen other similar issue (vSphere Provider setup is valid error on template deployment: please specify a datacenter #409 and Failed creating library for template when there are more than one datacenter in vsphere #2614)
I've also seen a change request (Provide datacenter when deploying the template from content library #513)
**What you expected to happen**:
The only workaround I've seen is to
1) importing the ova manually in to vsphere and convert in a template (the vm template is saved in an implicit folder path //vm/)
2) use the machineConfig.Spec.Template indicating the path //vm/templatename
I expected to don't have any manual step also in case of 2 Datacenter (also because the datacenter is specified in the yaml file)
How is possible to deploy the EKS-A cluster without manual step in case of 2 Datacenter ?
**How to reproduce it (as minimally and precisely as possible)**:
Vsphere environment with 2 Datacenter
**Anything else we need to know?**:
My eksa-mgmt-cluster.yaml:
apiVersion: anywhere.eks.amazonaws.com/v1alpha1
kind: Cluster
metadata:
name: mgmt
spec:
clusterNetwork:
cniConfig:
cilium: {}
pods:
cidrBlocks:
- 192.168.0.0/16
services:
cidrBlocks:
- 10.96.0.0/12
controlPlaneConfiguration:
count: 1
endpoint:
host: "xxxxxxxxxxxxxx"
machineGroupRef:
kind: VSphereMachineConfig
name: my-cluster-machines
datacenterRef:
kind: VSphereDatacenterConfig
name: my-cluster-datacenter
externalEtcdConfiguration:
count: 3
machineGroupRef:
kind: VSphereMachineConfig
name: my-cluster-machines
kubernetesVersion: "1.22"
workerNodeGroupConfigurations:
- count: 1
machineGroupRef:
kind: VSphereMachineConfig
name: my-cluster-machines
name: md-0
---
apiVersion: anywhere.eks.amazonaws.com/v1alpha1
kind: VSphereDatacenterConfig
metadata:
name: my-cluster-datacenter
spec:
datacenter: "L22Datacenter"
insecure: true
network: "xxxxxxxxxxxxxx"
server: "xxxxxxxxxxxxxx"
thumbprint: ""
---
apiVersion: anywhere.eks.amazonaws.com/v1alpha1
kind: VSphereMachineConfig
metadata:
name: my-cluster-machines
spec:
datastore: "Datastore iSCSI-1"
diskGiB: 25
folder: "Edgecloud Cluster"
memoryMiB: 8192
numCPUs: 2
osFamily: ubuntu
resourcePool: "*/Resources"
users:
- name: ec2-user
sshAuthorizedKeys:
- ssh-rsa AAAA...
---
**Environment**:
- EKS Anywhere Release: 1.22
Contributor guide
Research direction
Start with the supplied eksa-mgmt-cluster.yaml and trace the vSphere provider's template deployment when two datacenters are present, focusing on the reported govc datacenter validation error. Done means a vSphere deployment can select the datacenter from the configuration and complete without manually importing the OVA or converting it to a template.
Written by the indexing model from the issue text.
Assessment
- Domain
- devops, infrastructure
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100