@@ -76,6 +76,21 @@ func TestOpenStackMachineSpecToOpenStackServerSpec(t *testing.T) {
76
76
},
77
77
},
78
78
}
79
+ portOptsWithAdditionalSecurityGroup := []infrav1.PortOpts {
80
+ {
81
+ Network : & infrav1.NetworkParam {
82
+ ID : ptr .To (openStackCluster .Status .Network .ID ),
83
+ },
84
+ SecurityGroups : []infrav1.SecurityGroupParam {
85
+ {
86
+ ID : ptr .To (openStackCluster .Status .WorkerSecurityGroup .ID ),
87
+ },
88
+ {
89
+ ID : ptr .To (extraSecurityGroupUUID ),
90
+ },
91
+ },
92
+ },
93
+ }
79
94
image := infrav1.ImageParam {Filter : & infrav1.ImageFilter {Name : ptr .To ("my-image" )}}
80
95
tags := []string {"tag1" , "tag2" }
81
96
userData := & corev1.LocalObjectReference {Name : "server-data-secret" }
@@ -101,6 +116,28 @@ func TestOpenStackMachineSpecToOpenStackServerSpec(t *testing.T) {
101
116
UserDataRef : userData ,
102
117
},
103
118
},
119
+ {
120
+ name : "Test a OpenStackMachineSpec to OpenStackServerSpec conversion with an additional security group" ,
121
+ spec : & infrav1.OpenStackMachineSpec {
122
+ Flavor : ptr .To (flavorName ),
123
+ Image : image ,
124
+ SSHKeyName : sshKeyName ,
125
+ SecurityGroups : []infrav1.SecurityGroupParam {
126
+ {
127
+ ID : ptr .To (extraSecurityGroupUUID ),
128
+ },
129
+ },
130
+ },
131
+ want : & infrav1alpha1.OpenStackServerSpec {
132
+ Flavor : ptr .To (flavorName ),
133
+ IdentityRef : identityRef ,
134
+ Image : image ,
135
+ SSHKeyName : sshKeyName ,
136
+ Ports : portOptsWithAdditionalSecurityGroup ,
137
+ Tags : tags ,
138
+ UserDataRef : userData ,
139
+ },
140
+ },
104
141
}
105
142
for i := range tests {
106
143
tt := tests [i ]
0 commit comments