@@ -23,7 +23,6 @@ import (
23
23
"errors"
24
24
"fmt"
25
25
"path/filepath"
26
- "reflect"
27
26
"strings"
28
27
"time"
29
28
@@ -145,32 +144,27 @@ var _ = Describe("e2e tests", func() {
145
144
customPortOptions := & []infrav1.PortOpts {
146
145
{Description : "primary" },
147
146
}
147
+
148
+ // Note that as the bootstrap config does not have cloud.conf, the node will not be added to the cluster.
149
+ // We still expect the port for the machine to be created.
148
150
framework .CreateMachineDeployment (ctx , framework.CreateMachineDeploymentInput {
149
151
Creator : e2eCtx .Environment .BootstrapClusterProxy .GetClient (),
150
152
MachineDeployment : makeMachineDeployment (namespace .Name , md3Name , clusterName , "" , 1 ),
151
153
BootstrapConfigTemplate : makeJoinBootstrapConfigTemplate (namespace .Name , md3Name ),
152
154
InfraMachineTemplate : makeOpenStackMachineTemplateWithPortOptions (namespace .Name , clusterName , md3Name , customPortOptions ),
153
155
})
154
156
155
- shared .Byf ("Expecting MachineDeployment to be created successfully" )
156
- Eventually (func () bool {
157
- eventList := getEvents (namespace .Name )
158
- portError := "Failed to create server with custom port options"
159
- return isErrorEventExists (namespace .Name , md3Name , "FailedCreateServer" , portError , eventList )
160
- }, e2eCtx .E2EConfig .GetIntervals (specName , "wait-worker-nodes" )... ).Should (BeFalse ())
161
-
162
- filterNone := ports.ListOpts {}
163
- plist1 , err := shared .DumpOpenStackPorts (e2eCtx , filterNone )
164
- Expect (err ).To (BeNil ())
165
- Expect (plist1 ).NotTo (BeNil ())
166
-
167
- filterOne := ports.ListOpts {Description : "primary" }
168
- plist2 , err := shared .DumpOpenStackPorts (e2eCtx , filterOne )
169
- Expect (err ).To (BeNil ())
170
- count := len (* plist2 )
171
- Expect (count ).To (Equal (1 ))
172
- found := portContainsProperty (* plist2 , "Description" , "primary" )
173
- Expect (found ).Should (BeTrue ())
157
+ shared .Byf ("Waiting for custom port to be created" )
158
+ var plist * []ports.Port
159
+ var err error
160
+ Eventually (func () int {
161
+ plist , err = shared .DumpOpenStackPorts (e2eCtx , ports.ListOpts {Description : "primary" })
162
+ Expect (err ).To (BeNil ())
163
+ return len (* plist )
164
+ }, e2eCtx .E2EConfig .GetIntervals (specName , "wait-worker-nodes" )... ).Should (Equal (1 ))
165
+
166
+ port := (* plist )[0 ]
167
+ Expect (port .Description ).To (Equal ("primary" ))
174
168
})
175
169
It ("It should be creatable and deletable" , func () {
176
170
shared .Byf ("Creating a cluster" )
@@ -483,19 +477,3 @@ func isCloudProviderInitialized(taints []corev1.Taint) bool {
483
477
}
484
478
return true
485
479
}
486
-
487
- // Verifies that a Port contains a valid property with a correct value.
488
- func portContainsProperty (plist interface {}, property string , value interface {}) bool {
489
- ports := reflect .ValueOf (plist )
490
- portsCount := ports .Len ()
491
- for i := 0 ; i < portsCount ; i ++ {
492
- currentPort := ports .Index (i )
493
- searchProperty := currentPort .FieldByName (property )
494
- correctValue := searchProperty .Interface () == value
495
- if correctValue {
496
- return true
497
- }
498
- }
499
- // Non-existing property or incorrect value
500
- return false
501
- }
0 commit comments