This is an automated email from the ASF dual-hosted git repository.
nacx pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jclouds-examples.git
The following commit(s) were added to refs/heads/master by this push:
new 620bc54 Fixing issue where during the clear down all servers in a
Datacenter get deleted instead of just the ones in the Network Domain. (#1)
620bc54 is described below
commit 620bc54a183ef8917ea4c463804d2ec1868dd54a
Author: Trevor Flanagan <[email protected]>
AuthorDate: Mon Feb 11 15:23:36 2019 +0000
Fixing issue where during the clear down all servers in a Datacenter get
deleted instead of just the ones in the Network Domain. (#1)
---
.../cloudcontrol/NetworkDomainTearDown.java | 56 +++++++++++-----------
1 file changed, 29 insertions(+), 27 deletions(-)
diff --git
a/dimensiondata/src/main/java/org/jclouds/examples/dimensiondata/cloudcontrol/NetworkDomainTearDown.java
b/dimensiondata/src/main/java/org/jclouds/examples/dimensiondata/cloudcontrol/NetworkDomainTearDown.java
index 112a780..1938dc5 100644
---
a/dimensiondata/src/main/java/org/jclouds/examples/dimensiondata/cloudcontrol/NetworkDomainTearDown.java
+++
b/dimensiondata/src/main/java/org/jclouds/examples/dimensiondata/cloudcontrol/NetworkDomainTearDown.java
@@ -84,7 +84,7 @@ public class NetworkDomainTearDown
deleteFirewallRules(networkDomainId, api);
- deleteServers(api, datacenterId);
+ deleteServers(api, datacenterId, networkDomainId);
ImmutableList<Server> servers =
api.getServerApi().listServers().concat().toList();
if (!servers.isEmpty())
@@ -152,7 +152,7 @@ public class NetworkDomainTearDown
}
logger.info("Deleting Vlan with Id %s", vlan.id());
api.getNetworkApi().deleteVlan(vlan.id());
- api.getNetworkApi().vlanDeletedPredicate().apply(vlan.id());
+ api.getNetworkApi().vlanDeletedPredicate().apply(vlan.id());
}
catch (Exception e)
{
@@ -161,43 +161,45 @@ public class NetworkDomainTearDown
}
}
- private static void deleteServers(DimensionDataCloudControlApi api, String
datacenterId)
+ private static void deleteServers(DimensionDataCloudControlApi api, String
datacenterId, String networkDomainId)
{
for (Server server :
api.getServerApi().listServers(DatacenterIdListFilters.Builder.datacenterId(datacenterId)))
{
- try
+ if (server.networkInfo().networkDomainId().equals(networkDomainId))
{
- if (server.state() == State.FAILED_ADD)
+ try
{
- logger.info("Server with Id %s is in a FAILED_ADD state,
running the clean server operation.", server.id());
- api.getServerApi().cleanServer(server.id());
-
api.getServerApi().serverDeletedPredicate().apply(server.id());
- if (api.getServerApi().getServer(server.id()) != null)
+ if (server.state() == State.FAILED_ADD)
+ {
+ logger.info("Server with Id %s is in a FAILED_ADD
state, running the clean server operation.", server.id());
+ api.getServerApi().cleanServer(server.id());
+
api.getServerApi().serverDeletedPredicate().apply(server.id());
+ if (api.getServerApi().getServer(server.id()) != null)
+ {
+ logger.info("Failed to clean Server with Id %s",
server.id());
+ continue;
+ }
+ }
+ if (server.state() != State.NORMAL)
{
- logger.info("Failed to clean Server with Id %s",
server.id());
+ logger.info("Server with Id %s is not in a NORMAL
state, current state %s - cannot delete", server.id(), server.state());
continue;
}
+ if (server.started())
+ {
+ logger.info("Shutting down Server with Id %s",
server.id());
+ api.getServerApi().shutdownServer(server.id());
+
api.getServerApi().serverStoppedPredicate().apply(server.id());
+ }
+ logger.info("Deleting Server with Id %s", server.id());
+ api.getServerApi().deleteServer(server.id());
+
api.getServerApi().serverDeletedPredicate().apply(server.id());
}
- if (server.state() != State.NORMAL)
- {
- logger.info("Server with Id %s is not in a NORMAL state,
current state %s - cannot delete", server.id(), server.state());
- continue;
- }
- if (server.started())
+ catch (Exception e)
{
- logger.info("Shutting down Server with Id %s",
server.id());
- api.getServerApi().shutdownServer(server.id());
-
api.getServerApi().serverStoppedPredicate().apply(server.id());
+ logger.error("Unable to Delete Server with Id %s due to:
%s", server.id(), e.getMessage());
}
- logger.info("Deleting Server with Id %s", server.id());
- api.getServerApi().deleteServer(server.id());
- api.getServerApi().serverDeletedPredicate().apply(server.id());
- }
- catch (Exception e)
- {
- logger.error("Unable to Delete Server with Id %s due to: %s",
server.id(), e.getMessage());
}
}
}
-
}