vSphere integration does not create "juju-kubernetes" folder
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
CDK Addons |
Triaged
|
Medium
|
Unassigned | ||
Kubernetes Control Plane Charm |
Triaged
|
Medium
|
Unassigned | ||
vSphere Integrator Charm |
Triaged
|
Medium
|
Unassigned |
Bug Description
Juju: 2.6.9
k8s: 1.16
vSphere: 6.5
Running vsphere integrator with an admin account.
When creating PVs, they fail because folder "juju-kubernetes" was not found.
As per VMWare documentation: https:/
Note: VMDK is created inside kubevols folder in datastore which is mentioned in ‘vsphere’ cloudprovider configuration. The cloudprovider config is created during setup of Kubernetes cluster on vSphere.
I will try manually creating this folder and see if the error changes.
------
Manually creating the folder did not work.
Actually, Kubernetes is looking for the folder where the k8s VMs are placed and not finding because the value is hard-wired for "juju-kubernetes" out of the box.
There is a manual step to fix it, described on the comments below.
description: | updated |
Changed in cdk-addons: | |
importance: | Undecided → Medium |
Changed in charm-kubernetes-master: | |
importance: | Undecided → Medium |
Changed in charm-vsphere-integrator: | |
importance: | Undecided → Medium |
Changed in cdk-addons: | |
status: | New → Triaged |
Changed in charm-kubernetes-master: | |
status: | New → Triaged |
Changed in charm-vsphere-integrator: | |
status: | New → Triaged |
To find out the right folder for the "folder" parameter on vpshere-integrator, do:
1) Pull govc (from VMWare's govmomi lib) from github and install it on your PATH
2) Grab the CA cert for your vCenter (follow steps available online)
3) Fine one machine to grab its name, on juju, with "juju list-machines":
## List the machines available with juju list-machines:
Machine State DNS Inst id Series AZ Message
0 started REDACTED juju-uuid-0 bionic poweredOn
4) Run govc with: DOMAIN: PASSWORD@ VCENTER_ IP/URL vm -name juju-uuid-0
## Get one of the instance names, for example: juju-10f793-0 and search for it via govc
## Remember that special characters such as ?, ! or $ need to be replaced by \?, \! or \$
$ govc find -u USER@VCENTER_
5) Output should look like: vm/CONTROLLER_ UUID_FOLDER/ MODEL_FOLDER/ <all the VMs>
/DATACENTER/
6) The folder name is the value for "CONTROLLER_ UUID_FOLDER" . Run: "CONTROLLER_ UUID_FOLDER"
juju config vsphere-integrator folder=