@@ -170,6 +170,7 @@ func TestEgressIP(t *testing.T) {
170
170
171
171
// Assign HostSubnet.EgressIP first, then NetNamespace.EgressIP, with a remote EgressIP
172
172
eip .updateNodeEgress ("172.17.0.3" , []string {"172.17.0.101" , "172.17.0.100" }) // Added .101
173
+ eip .updateNodeEgress ("172.17.0.5" , []string {"172.17.0.105" }) // Added .105
173
174
err = assertNoNetlinkChanges (eip )
174
175
if err != nil {
175
176
t .Fatalf ("%v" , err )
@@ -179,6 +180,17 @@ func TestEgressIP(t *testing.T) {
179
180
t .Fatalf ("%v" , err )
180
181
}
181
182
183
+ eip .updateNamespaceEgress (43 , "172.17.0.105" )
184
+ err = assertNoNetlinkChanges (eip )
185
+ if err != nil {
186
+ t .Fatalf ("%v" , err )
187
+ }
188
+ err = assertOVSChanges (eip , & flows , egressOVSChange {vnid : 43 , egress : Remote , remote : "172.17.0.5" })
189
+ if err != nil {
190
+ t .Fatalf ("%v" , err )
191
+ }
192
+
193
+ // Change NetNamespace.EgressIP
182
194
eip .updateNamespaceEgress (43 , "172.17.0.101" )
183
195
err = assertNoNetlinkChanges (eip )
184
196
if err != nil {
@@ -190,7 +202,7 @@ func TestEgressIP(t *testing.T) {
190
202
}
191
203
192
204
// Assign NetNamespace.EgressIP first, then HostSubnet.EgressIP, with a local EgressIP
193
- eip .updateNamespaceEgress (44 , "172.17.0.102 " )
205
+ eip .updateNamespaceEgress (44 , "172.17.0.104 " )
194
206
err = assertNoNetlinkChanges (eip )
195
207
if err != nil {
196
208
t .Fatalf ("%v" , err )
@@ -200,8 +212,8 @@ func TestEgressIP(t *testing.T) {
200
212
t .Fatalf ("%v" , err )
201
213
}
202
214
203
- eip .updateNodeEgress ("172.17.0.4" , []string {"172.17.0.102" }) // Added .102
204
- err = assertNetlinkChange (eip , "claim 172.17.0.102 " )
215
+ eip .updateNodeEgress ("172.17.0.4" , []string {"172.17.0.102" , "172.17.0.104" }) // Added .102, .104
216
+ err = assertNetlinkChange (eip , "claim 172.17.0.104 " )
205
217
if err != nil {
206
218
t .Fatalf ("%v" , err )
207
219
}
@@ -210,8 +222,24 @@ func TestEgressIP(t *testing.T) {
210
222
t .Fatalf ("%v" , err )
211
223
}
212
224
225
+ // Change Namespace EgressIP
226
+ eip .updateNamespaceEgress (44 , "172.17.0.102" )
227
+ err = assertNetlinkChange (eip , "release 172.17.0.104" )
228
+ if err != nil {
229
+ t .Fatalf ("%v" , err )
230
+ }
231
+ err = assertNetlinkChange (eip , "claim 172.17.0.102" )
232
+ if err != nil {
233
+ t .Fatalf ("%v" , err )
234
+ }
235
+ // The iptables rules change, but not the OVS flow
236
+ err = assertNoOVSChanges (eip , & flows )
237
+ if err != nil {
238
+ t .Fatalf ("%v" , err )
239
+ }
240
+
213
241
// Assign HostSubnet.EgressIP first, then NetNamespace.EgressIP, with a local EgressIP
214
- eip .updateNodeEgress ("172.17.0.4" , []string {"172.17.0.102" , "172.17.0.103" }) // Added .103
242
+ eip .updateNodeEgress ("172.17.0.4" , []string {"172.17.0.102" , "172.17.0.103" }) // Added .103, Dropped .104
215
243
err = assertNoNetlinkChanges (eip )
216
244
if err != nil {
217
245
t .Fatalf ("%v" , err )
0 commit comments