Ver código fonte

avoid NPE, fix mock compute driver

tags/v0.11.2
Jonathan Cobb 4 anos atrás
pai
commit
f446e30895
2 arquivos alterados com 17 adições e 9 exclusões
  1. +11
    -9
      bubble-server/src/main/java/bubble/cloud/compute/ComputeServiceDriverBase.java
  2. +6
    -0
      bubble-server/src/main/java/bubble/cloud/compute/mock/MockComputeDriver.java

+ 11
- 9
bubble-server/src/main/java/bubble/cloud/compute/ComputeServiceDriverBase.java Ver arquivo

@@ -59,15 +59,17 @@ public abstract class ComputeServiceDriverBase
@Getter(lazy=true) private final List<CloudRegion> regions = initRegions();
private List<CloudRegion> initRegions() {
final ArrayList<CloudRegion> cloudRegions = new ArrayList<>();
for (CloudRegion configRegion : config.getRegions()) {
final CloudRegion cloudRegion = getCloudRegions().stream()
.filter(s -> s.getInternalName().equalsIgnoreCase(configRegion.getInternalName()))
.findFirst()
.orElse(null);
if (cloudRegion == null) {
log.warn("initRegions: config region not found: "+configRegion.getInternalName());
} else {
cloudRegions.add(configRegion.setId(cloudRegion.getId()));
if (config != null && config.getRegions() != null) {
for (CloudRegion configRegion : config.getRegions()) {
final CloudRegion cloudRegion = getCloudRegions().stream()
.filter(s -> s.getInternalName().equalsIgnoreCase(configRegion.getInternalName()))
.findFirst()
.orElse(null);
if (cloudRegion == null) {
log.warn("initRegions: config region not found: " + configRegion.getInternalName());
} else {
cloudRegions.add(configRegion.setId(cloudRegion.getId()));
}
}
}
return cloudRegions;


+ 6
- 0
bubble-server/src/main/java/bubble/cloud/compute/mock/MockComputeDriver.java Ver arquivo

@@ -29,12 +29,18 @@ public class MockComputeDriver extends ComputeServiceDriverBase {
.setName("nyc_mock")
.setLocation(MockGeoLocationDriver.MOCK_LOCAION));

@Override public List<CloudRegion> getRegions() { return getCloudRegions(); }

@Getter private final List<ComputeNodeSize> cloudSizes = singletonList(new ComputeNodeSize()
.setName("standard")
.setType(ComputeNodeSizeType.small));

@Override public List<ComputeNodeSize> getSizes() { return getCloudSizes(); }

@Getter private final List<OsImage> cloudOsImages = singletonList(new OsImage().setName("dummy operating system"));

@Getter(lazy=true) private final OsImage os = new OsImage().setName("Ubuntu 20.04 x84").setId("ubuntu20.04x84");

@Override public BubbleNode start(BubbleNode node) throws Exception {
node.setIp4("127.0.0.1");
node.setIp6("::1");


Carregando…
Cancelar
Salvar