Skip to content

Commit 2208499

Browse files
committed
Make vSphere default ResourcePool formatting not contain double slash.
1 parent 7645fef commit 2208499

File tree

4 files changed

+76
-7
lines changed

4 files changed

+76
-7
lines changed

cmd/openshift-install/testdata/agent/image/configurations/vsphere_with-credentials.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ rendezvousIP: 192.168.111.20
6767
-- expected/agent-cluster-install.yaml --
6868
metadata:
6969
annotations:
70-
agent-install.openshift.io/install-config-overrides: '{"platform":{"vsphere":{"vcenters":[{"server":"vcenter.openshift.com","user":"testUser","password":"testPassword","datacenters":["testDatacenter"]}],"failureDomains":[{"name":"testfailureDomain","region":"testRegion","zone":"testZone","server":"vcenter.openshift.com","topology":{"datacenter":"testDatacenter","computeCluster":"/testDatacenter/host/testComputecluster","networks":["testNetwork"],"datastore":"/testDatacenter/datastore/testDatastore","resourcePool":"/testDatacenter/host/testComputecluster//Resources","folder":"/testDatacenter/vm/testFolder"}}]}}}'
70+
agent-install.openshift.io/install-config-overrides: '{"platform":{"vsphere":{"vcenters":[{"server":"vcenter.openshift.com","user":"testUser","password":"testPassword","datacenters":["testDatacenter"]}],"failureDomains":[{"name":"testfailureDomain","region":"testRegion","zone":"testZone","server":"vcenter.openshift.com","topology":{"datacenter":"testDatacenter","computeCluster":"/testDatacenter/host/testComputecluster","networks":["testNetwork"],"datastore":"/testDatacenter/datastore/testDatastore","resourcePool":"/testDatacenter/host/testComputecluster/Resources","folder":"/testDatacenter/vm/testFolder"}}]}}}'
7171
creationTimestamp: null
7272
name: ostest
7373
namespace: cluster0

pkg/asset/agent/installconfig_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -867,7 +867,7 @@ pullSecret: "{\"auths\":{\"example.com\":{\"auth\":\"authorization value\"}}}"
867867
ComputeCluster: "/testDataCenter/host/testCluster",
868868
Networks: []string{""},
869869
Datastore: "/testDataCenter/datastore/testDefaultDataStore",
870-
ResourcePool: "/testDataCenter/host/testCluster//Resources",
870+
ResourcePool: "/testDataCenter/host/testCluster/Resources",
871871
Folder: "/testDataCenter/vm/testFolder",
872872
},
873873
}},

pkg/types/vsphere/defaults/platform.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package defaults
22

33
import (
4-
"fmt"
4+
"path"
55

66
"github.com/openshift/installer/pkg/types"
77
"github.com/openshift/installer/pkg/types/vsphere"
@@ -16,7 +16,7 @@ func SetPlatformDefaults(p *vsphere.Platform, installConfig *types.InstallConfig
1616
// and cluster.
1717
for i := range p.FailureDomains {
1818
if p.FailureDomains[i].Topology.ResourcePool == "" && p.FailureDomains[i].Topology.ComputeCluster != "" {
19-
p.FailureDomains[i].Topology.ResourcePool = fmt.Sprintf("%s/%s", p.FailureDomains[i].Topology.ComputeCluster, "/Resources")
19+
p.FailureDomains[i].Topology.ResourcePool = path.Join(p.FailureDomains[i].Topology.ComputeCluster, "Resources")
2020
}
2121
}
2222
}

pkg/types/vsphere/defaults/platform_test.go

Lines changed: 72 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,82 @@ func defaultPlatform() *vsphere.Platform {
1616
return &vsphere.Platform{}
1717
}
1818

19+
func validPlatform() *vsphere.Platform {
20+
return &vsphere.Platform{
21+
VCenters: []vsphere.VCenter{
22+
{
23+
Server: "test-vcenter",
24+
Port: 443,
25+
Username: "test-username",
26+
Password: "test-password",
27+
Datacenters: []string{
28+
"test-datacenter",
29+
},
30+
},
31+
},
32+
FailureDomains: []vsphere.FailureDomain{
33+
{
34+
Name: "test-east-1a",
35+
Region: "test-east",
36+
Zone: "test-east-1a",
37+
Server: "test-vcenter",
38+
Topology: vsphere.Topology{
39+
Datacenter: "test-datacenter",
40+
ComputeCluster: "/test-datacenter/host/test-cluster",
41+
Datastore: "/test-datacenter/datastore/test-datastore",
42+
Networks: []string{"test-portgroup"},
43+
ResourcePool: "/test-datacenter/host/test-cluster/Resources",
44+
Folder: "/test-datacenter/vm/test-folder",
45+
},
46+
},
47+
{
48+
Name: "test-east-2a",
49+
Region: "test-east",
50+
Zone: "test-east-2a",
51+
Server: "test-vcenter",
52+
Topology: vsphere.Topology{
53+
Datacenter: "test-datacenter",
54+
ComputeCluster: "/test-datacenter/host/test-cluster",
55+
Datastore: "/test-datacenter/datastore/test-datastore",
56+
Networks: []string{"test-portgroup"},
57+
ResourcePool: "/test-datacenter/host/test-cluster/Resources",
58+
Folder: "/test-datacenter/vm/test-folder",
59+
},
60+
},
61+
},
62+
}
63+
}
64+
1965
func TestSetPlatformDefaults(t *testing.T) {
2066
cases := []struct {
21-
name string
22-
platform *vsphere.Platform
23-
expected *vsphere.Platform
67+
name string
68+
platform *vsphere.Platform
69+
expected *vsphere.Platform
70+
expectedRP string
2471
}{
2572
{
2673
name: "empty",
2774
platform: &vsphere.Platform{},
2875
expected: defaultPlatform(),
2976
},
77+
{
78+
name: "completed",
79+
platform: validPlatform(),
80+
expected: validPlatform(),
81+
expectedRP: "/test-datacenter/host/test-cluster/Resources",
82+
},
83+
{
84+
name: "incomplete",
85+
platform: func() *vsphere.Platform {
86+
p := validPlatform()
87+
for _, fd := range p.FailureDomains {
88+
fd.Topology.ResourcePool = ""
89+
}
90+
return p
91+
}(),
92+
expected: validPlatform(),
93+
expectedRP: "/test-datacenter/host/test-cluster/Resources",
94+
},
3095
}
3196
for _, tc := range cases {
3297
t.Run(tc.name, func(t *testing.T) {
@@ -37,6 +102,10 @@ func TestSetPlatformDefaults(t *testing.T) {
37102
}
38103
SetPlatformDefaults(tc.platform, ic)
39104
assert.Equal(t, tc.expected, tc.platform, "unexpected platform")
105+
106+
for _, fd := range tc.platform.FailureDomains {
107+
assert.Equal(t, tc.expectedRP, fd.Topology.ResourcePool, "invalid resource pool")
108+
}
40109
})
41110
}
42111
}

0 commit comments

Comments
 (0)