Skip to content

Commit eddb541

Browse files
added clea up method for Consistency Group
1 parent f04073e commit eddb541

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

compute/cloud-client/src/test/java/compute/Util.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
package compute;
1818

19+
import static compute.disks.consistencygroup.DeleteDiskConsistencyGroup.deleteDiskConsistencyGroup;
20+
1921
import com.google.cloud.compute.v1.DeleteStoragePoolRequest;
2022
import com.google.cloud.compute.v1.Disk;
2123
import com.google.cloud.compute.v1.DisksClient;
@@ -30,6 +32,8 @@
3032
import com.google.cloud.compute.v1.RegionInstanceTemplatesClient;
3133
import com.google.cloud.compute.v1.Reservation;
3234
import com.google.cloud.compute.v1.ReservationsClient;
35+
import com.google.cloud.compute.v1.ResourcePoliciesClient;
36+
import com.google.cloud.compute.v1.ResourcePolicy;
3337
import com.google.cloud.compute.v1.Snapshot;
3438
import com.google.cloud.compute.v1.SnapshotsClient;
3539
import com.google.cloud.compute.v1.StoragePool;
@@ -52,6 +56,7 @@
5256
import java.util.concurrent.TimeoutException;
5357
import java.util.stream.IntStream;
5458

59+
5560
public abstract class Util {
5661
// Cleans existing test resources if any.
5762
// If the project contains too many instances, use "filter" when listing
@@ -283,6 +288,22 @@ && isCreatedBeforeThresholdTime(disk.getCreationTimestamp())) {
283288
}
284289
}
285290

291+
// Delete ConsistencyGroup which starts with the given prefixToDelete and
292+
// has creation timestamp >24 hours.
293+
public static void cleanUpExistingConsistencyGroup(
294+
String prefixToDelete, String projectId, String region)
295+
throws IOException, ExecutionException, InterruptedException {
296+
try (ResourcePoliciesClient client = ResourcePoliciesClient.create()) {
297+
for (ResourcePolicy resourcePolicy : client.list(projectId, region).iterateAll()) {
298+
if (resourcePolicy.getName().contains(prefixToDelete)
299+
&& resourcePolicy.getRegion().equals(region)
300+
&& isCreatedBeforeThresholdTime(resourcePolicy.getCreationTimestamp())) {
301+
deleteDiskConsistencyGroup(projectId, region, resourcePolicy.getName());
302+
}
303+
}
304+
}
305+
}
306+
286307
public static boolean containPrefixToDeleteAndZone(
287308
Object resource, String prefixToDelete, String zone) {
288309
boolean containPrefixAndZone = false;

compute/cloud-client/src/test/java/compute/disks/ConsistencyGroupIT.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ public static void cleanUp()
9494
Util.cleanUpExistingRegionalDisks("test-disk-for-consistency-", PROJECT_ID, REGION);
9595
Util.cleanUpExistingRegionalDisks(
9696
"gcloud-test-disk-secondary-regional-", PROJECT_ID, REGION_SECONDARY);
97+
Util.cleanUpExistingConsistencyGroup("test-consistency-group-", PROJECT_ID, REGION);
9798
}
9899

99100
@Test

0 commit comments

Comments
 (0)