Skip to content

Commit b6bc15d

Browse files
committed
Fix: fail fast if either keystone or neutron are not available
Change-Id: I5b427a4b5acf318d415a2242e6bf25e38282a95f
1 parent 697778e commit b6bc15d

File tree

1 file changed

+76
-46
lines changed

1 file changed

+76
-46
lines changed

apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/web/OpenstackManagementWebResource.java

Lines changed: 76 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -141,58 +141,88 @@ public Response syncStates() {
141141
throw new ItemNotFoundException("Auth info is not correct");
142142
}
143143

144-
osClient.headers(headerMap).networking().securitygroup().list().forEach(osSg -> {
145-
if (osSgAdminService.securityGroup(osSg.getId()) != null) {
146-
osSgAdminService.updateSecurityGroup(osSg);
147-
} else {
148-
osSgAdminService.createSecurityGroup(osSg);
149-
}
150-
});
144+
try {
145+
osClient.headers(headerMap).networking().securitygroup().list().forEach(osSg -> {
146+
if (osSgAdminService.securityGroup(osSg.getId()) != null) {
147+
osSgAdminService.updateSecurityGroup(osSg);
148+
} else {
149+
osSgAdminService.createSecurityGroup(osSg);
150+
}
151+
});
152+
} catch (Exception e) {
153+
log.warn("Failed to retrieve security group due to {}", e.getMessage());
154+
return Response.serverError().build();
155+
}
151156

152-
osClient.headers(headerMap).networking().network().list().forEach(osNet -> {
153-
if (osNetAdminService.network(osNet.getId()) != null) {
154-
osNetAdminService.updateNetwork(osNet);
155-
} else {
156-
osNetAdminService.createNetwork(osNet);
157-
}
158-
});
157+
try {
158+
osClient.headers(headerMap).networking().network().list().forEach(osNet -> {
159+
if (osNetAdminService.network(osNet.getId()) != null) {
160+
osNetAdminService.updateNetwork(osNet);
161+
} else {
162+
osNetAdminService.createNetwork(osNet);
163+
}
164+
});
165+
} catch (Exception e) {
166+
log.warn("Failed to retrieve network due to {}", e.getMessage());
167+
return Response.serverError().build();
168+
}
159169

160-
osClient.headers(headerMap).networking().subnet().list().forEach(osSubnet -> {
161-
if (osNetAdminService.subnet(osSubnet.getId()) != null) {
162-
osNetAdminService.updateSubnet(osSubnet);
163-
} else {
164-
osNetAdminService.createSubnet(osSubnet);
165-
}
166-
});
170+
try {
171+
osClient.headers(headerMap).networking().subnet().list().forEach(osSubnet -> {
172+
if (osNetAdminService.subnet(osSubnet.getId()) != null) {
173+
osNetAdminService.updateSubnet(osSubnet);
174+
} else {
175+
osNetAdminService.createSubnet(osSubnet);
176+
}
177+
});
178+
} catch (Exception e) {
179+
log.warn("Failed to retrieve subnet due to {}", e.getMessage());
180+
return Response.serverError().build();
181+
}
167182

168-
osClient.headers(headerMap).networking().port().list().forEach(osPort -> {
169-
if (osNetAdminService.port(osPort.getId()) != null) {
170-
osNetAdminService.updatePort(osPort);
171-
} else {
172-
osNetAdminService.createPort(osPort);
173-
}
174-
});
183+
try {
184+
osClient.headers(headerMap).networking().port().list().forEach(osPort -> {
185+
if (osNetAdminService.port(osPort.getId()) != null) {
186+
osNetAdminService.updatePort(osPort);
187+
} else {
188+
osNetAdminService.createPort(osPort);
189+
}
190+
});
191+
} catch (Exception e) {
192+
log.warn("Failed to retrieve port due to {}", e.getMessage());
193+
return Response.serverError().build();
194+
}
175195

176-
osClient.headers(headerMap).networking().router().list().forEach(osRouter -> {
177-
if (osRouterAdminService.router(osRouter.getId()) != null) {
178-
osRouterAdminService.updateRouter(osRouter);
179-
} else {
180-
osRouterAdminService.createRouter(osRouter);
181-
}
196+
try {
197+
osClient.headers(headerMap).networking().router().list().forEach(osRouter -> {
198+
if (osRouterAdminService.router(osRouter.getId()) != null) {
199+
osRouterAdminService.updateRouter(osRouter);
200+
} else {
201+
osRouterAdminService.createRouter(osRouter);
202+
}
182203

183-
osNetAdminService.ports().stream()
184-
.filter(osPort -> Objects.equals(osPort.getDeviceId(), osRouter.getId()) &&
185-
Objects.equals(osPort.getDeviceOwner(), DEVICE_OWNER_IFACE))
186-
.forEach(osPort -> addRouterIface(osPort, osRouterAdminService));
187-
});
204+
osNetAdminService.ports().stream()
205+
.filter(osPort -> Objects.equals(osPort.getDeviceId(), osRouter.getId()) &&
206+
Objects.equals(osPort.getDeviceOwner(), DEVICE_OWNER_IFACE))
207+
.forEach(osPort -> addRouterIface(osPort, osRouterAdminService));
208+
});
209+
} catch (Exception e) {
210+
log.warn("Failed to retrieve router due to {}", e.getMessage());
211+
return Response.serverError().build();
212+
}
188213

189-
osClient.headers(headerMap).networking().floatingip().list().forEach(osFloating -> {
190-
if (osRouterAdminService.floatingIp(osFloating.getId()) != null) {
191-
osRouterAdminService.updateFloatingIp(osFloating);
192-
} else {
193-
osRouterAdminService.createFloatingIp(osFloating);
194-
}
195-
});
214+
try {
215+
osClient.headers(headerMap).networking().floatingip().list().forEach(osFloating -> {
216+
if (osRouterAdminService.floatingIp(osFloating.getId()) != null) {
217+
osRouterAdminService.updateFloatingIp(osFloating);
218+
} else {
219+
osRouterAdminService.createFloatingIp(osFloating);
220+
}
221+
});
222+
} catch (Exception e) {
223+
log.warn("Failed to retrieve floating IP due to {}", e.getMessage());
224+
return Response.serverError().build();
225+
}
196226

197227
return ok(mapper().createObjectNode()).build();
198228
}

0 commit comments

Comments
 (0)