panic: malformed characteristic "-" while bootstrapping juju controller for vsphere cloud
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical Juju |
Fix Released
|
High
|
Ben Hoyt |
Bug Description
I am trying to set up a juju controller for vsphere following the guide at https:/
However, the bootstrap fails when trying to connect to the API stating connection refused on port 17070.
I added flags to my next bootstrap to not destroy on failure and I SSH'ed into the failed controller and got the log attached. The most prominent error was the following:
panic: malformed characteristic "-"
goroutine 517 [running]:
github.
github.
github.
github.
github.
github.
github.
created by github.
2020-09-15 13:26:52 INFO juju.cmd supercommand.go:54 running jujud [2.8.2 0 a44e6eb38430da6
2020-09-15 13:26:52 DEBUG juju.cmd supercommand.go:55 args: []string{
I am running vsphere 6.7 on an ESXI 6.5 server
The network both the initial node doing the bootstrapping and the to-be controller are on the same ESXI distributed port group which was passed in as the primary-network adapter. The network they are connected to is a VLAN
I would be happy to provide any other information you may need.
Changed in juju: | |
status: | In Progress → Fix Committed |
Changed in juju: | |
milestone: | none → 2.8.4 |
Changed in juju: | |
status: | Fix Committed → Fix Released |
Just posting a quick update here. This is caused by our HardwareCharact eristics. Clone() method cloning by calling .String() and re-parsing. But this is not round-trippable if the string fields (Arch, RootDiskSource, Tags, AvailabilityZone) have spaces in them. In this example I suspect the root disk source or availability zone (cluster/ host/resource pool) has a space in it followed by "-" and is causing this issue.
I'm going to fix .Clone() to not clone via "string and re-parse", but by creating a new object and copying the fields over. This should make it into 2.8.4 which is coming out in a week or so.
If you can attach the output of "govc find" (https:/ /github. com/vmware/ govmomi/ tree/master/ govc) we could confirm this in your case.