@@ -138,7 +138,6 @@ var _ = Describe("ServiceImport", func() {
138
138
Ports : []v1alpha1.ServicePort {
139
139
{Port : 80 },
140
140
},
141
- IPs : []string {"10.42.42.42" },
142
141
},
143
142
}
144
143
Expect (k8s .Create (ctx , & serviceImport )).To (Succeed ())
@@ -158,4 +157,38 @@ var _ = Describe("ServiceImport", func() {
158
157
}, 10 ).Should (Equal (s .Spec .ClusterIP ))
159
158
}, 15 )
160
159
})
160
+ Context ("created with existing clustersetIP" , func () {
161
+ BeforeEach (func () {
162
+ serviceName = types.NamespacedName {Namespace : testNS , Name : fmt .Sprintf ("svc-%v" , rand .Uint64 ())}
163
+ derivedServiceName = types.NamespacedName {Namespace : testNS , Name : derivedName (serviceName )}
164
+ serviceImport = v1alpha1.ServiceImport {
165
+ ObjectMeta : metav1.ObjectMeta {
166
+ Namespace : testNS ,
167
+ Name : serviceName .Name ,
168
+ },
169
+ Spec : v1alpha1.ServiceImportSpec {
170
+ Type : v1alpha1 .ClusterSetIP ,
171
+ Ports : []v1alpha1.ServicePort {
172
+ {Port : 80 },
173
+ },
174
+ IPs : []string {"10.42.42.42" },
175
+ },
176
+ }
177
+ Expect (k8s .Create (ctx , & serviceImport )).To (Succeed ())
178
+ })
179
+ It ("updates service loadbalancer status with service import IPs" , func () {
180
+ var svcImport v1alpha1.ServiceImport
181
+ var s v1.Service
182
+ Eventually (func () error {
183
+ return k8s .Get (ctx , derivedServiceName , & s )
184
+ }, 10 ).Should (Succeed ())
185
+ Eventually (func () string {
186
+ Expect (k8s .Get (ctx , serviceName , & svcImport )).To (Succeed ())
187
+ if len (svcImport .Spec .IPs ) > 0 {
188
+ return svcImport .Spec .IPs [0 ]
189
+ }
190
+ return ""
191
+ }, 10 ).Should (Equal (s .Status .LoadBalancer .Ingress [0 ].IP ))
192
+ }, 15 )
193
+ })
161
194
})
0 commit comments