Committed by
Gerrit Code Review
HostLocationProvider should not remove hosts installed by other providers
Change-Id: I0d95a3c9409a9d8bb4e0c0039ea24dc9c0efc45f
Showing
2 changed files
with
7 additions
and
2 deletions
... | @@ -462,8 +462,10 @@ public class HostLocationProvider extends AbstractProvider implements HostProvid | ... | @@ -462,8 +462,10 @@ public class HostLocationProvider extends AbstractProvider implements HostProvid |
462 | // Signals host vanish for all specified hosts. | 462 | // Signals host vanish for all specified hosts. |
463 | private void removeHosts(Set<Host> hosts) { | 463 | private void removeHosts(Set<Host> hosts) { |
464 | for (Host host : hosts) { | 464 | for (Host host : hosts) { |
465 | + if (host.providerId().equals(HostLocationProvider.this.id())) { | ||
465 | providerService.hostVanished(host.id()); | 466 | providerService.hostVanished(host.id()); |
466 | } | 467 | } |
467 | } | 468 | } |
469 | + } | ||
468 | 470 | ||
469 | } | 471 | } | ... | ... |
... | @@ -86,6 +86,9 @@ import static org.onosproject.net.PortNumber.portNumber; | ... | @@ -86,6 +86,9 @@ import static org.onosproject.net.PortNumber.portNumber; |
86 | import static org.onosproject.net.device.DeviceEvent.Type.*; | 86 | import static org.onosproject.net.device.DeviceEvent.Type.*; |
87 | 87 | ||
88 | public class HostLocationProviderTest { | 88 | public class HostLocationProviderTest { |
89 | + private static final ProviderId PROVIDER_ID = | ||
90 | + new ProviderId("of", "org.onosproject.provider.host"); | ||
91 | + | ||
89 | private static final Integer INPORT = 10; | 92 | private static final Integer INPORT = 10; |
90 | private static final String DEV1 = "of:1"; | 93 | private static final String DEV1 = "of:1"; |
91 | private static final String DEV2 = "of:2"; | 94 | private static final String DEV2 = "of:2"; |
... | @@ -105,7 +108,7 @@ public class HostLocationProviderTest { | ... | @@ -105,7 +108,7 @@ public class HostLocationProviderTest { |
105 | private static final HostLocation LOCATION = | 108 | private static final HostLocation LOCATION = |
106 | new HostLocation(deviceId(DEV1), portNumber(INPORT), 0L); | 109 | new HostLocation(deviceId(DEV1), portNumber(INPORT), 0L); |
107 | private static final DefaultHost HOST = | 110 | private static final DefaultHost HOST = |
108 | - new DefaultHost(ProviderId.NONE, hostId(MAC), MAC, | 111 | + new DefaultHost(PROVIDER_ID, hostId(MAC), MAC, |
109 | vlanId(VlanId.UNTAGGED), LOCATION, | 112 | vlanId(VlanId.UNTAGGED), LOCATION, |
110 | ImmutableSet.of(IP_ADDRESS)); | 113 | ImmutableSet.of(IP_ADDRESS)); |
111 | 114 | ||
... | @@ -118,7 +121,7 @@ public class HostLocationProviderTest { | ... | @@ -118,7 +121,7 @@ public class HostLocationProviderTest { |
118 | private static final HostLocation LOCATION2 = | 121 | private static final HostLocation LOCATION2 = |
119 | new HostLocation(deviceId(DEV4), portNumber(INPORT), 0L); | 122 | new HostLocation(deviceId(DEV4), portNumber(INPORT), 0L); |
120 | private static final DefaultHost HOST2 = | 123 | private static final DefaultHost HOST2 = |
121 | - new DefaultHost(ProviderId.NONE, hostId(MAC2), MAC2, | 124 | + new DefaultHost(PROVIDER_ID, hostId(MAC2), MAC2, |
122 | vlanId(VlanId.UNTAGGED), LOCATION2, | 125 | vlanId(VlanId.UNTAGGED), LOCATION2, |
123 | ImmutableSet.of(IP_ADDRESS2)); | 126 | ImmutableSet.of(IP_ADDRESS2)); |
124 | 127 | ... | ... |
-
Please register or login to post a comment