@@ -76,6 +76,8 @@ public class DisksIT {
7676 private static final List <String > replicaZones = Arrays .asList (
7777 String .format ("projects/%s/zones/%s-a" , PROJECT_ID , REGION ),
7878 String .format ("projects/%s/zones/%s-b" , PROJECT_ID , REGION ));
79+ private static String SECONDARY_REGIONAL_DISK ;
80+ private static final long DISK_SIZE = 10L ;
7981 private ByteArrayOutputStream stdOut ;
8082
8183 // Check if the required environment variables are set.
@@ -104,35 +106,39 @@ public static void setup()
104106 ZONAL_BLANK_DISK = "gcloud-test-disk-zattach-" + uuid ;
105107 REGIONAL_BLANK_DISK = "gcloud-test-disk-rattach-" + uuid ;
106108 REGIONAL_REPLICATED_DISK = "gcloud-test-disk-replicated-" + uuid ;
109+ SECONDARY_REGIONAL_DISK = "gcloud-test-disk-secondary-regional-" + uuid ;
107110
108- // Cleanup existing stale instances .
111+ // Cleanup existing stale resources .
109112 Util .cleanUpExistingInstances ("test-disks" , PROJECT_ID , ZONE );
110113 Util .cleanUpExistingDisks ("gcloud-test-" , PROJECT_ID , ZONE );
114+ Util .cleanUpExistingRegionalDisks ("gcloud-test-disk-secondary-regional-" , PROJECT_ID , REGION );
115+ Util .cleanUpExistingRegionalDisks ("gcloud-test-disk-rattach-" , PROJECT_ID , REGION );
111116 Util .cleanUpExistingSnapshots ("gcloud-test-snapshot-" , PROJECT_ID );
112117 Util .cleanUpExistingRegionalDisks ("gcloud-test-disk-" , PROJECT_ID , REGION );
113118 // Create disk from image.
114119 Image debianImage = null ;
115120 try (ImagesClient imagesClient = ImagesClient .create ()) {
116121 debianImage = imagesClient .getFromFamily ("debian-cloud" , "debian-11" );
117122 }
118- CreateDiskFromImage .createDiskFromImage (PROJECT_ID , ZONE , DISK_NAME , DISK_TYPE , 10 ,
123+ CreateDiskFromImage .createDiskFromImage (PROJECT_ID , ZONE , DISK_NAME , DISK_TYPE , DISK_SIZE ,
119124 debianImage .getSelfLink ());
120125 assertThat (stdOut .toString ()).contains ("Disk created from image." );
121126
122127 // Create disk from snapshot.
123- CreateDiskFromImage .createDiskFromImage (PROJECT_ID , ZONE , DISK_NAME_DUMMY , DISK_TYPE , 10 ,
128+ CreateDiskFromImage .createDiskFromImage (PROJECT_ID , ZONE , DISK_NAME_DUMMY , DISK_TYPE , DISK_SIZE ,
124129 debianImage .getSelfLink ());
125130 TimeUnit .SECONDS .sleep (10 );
126131 createDiskSnapshot (PROJECT_ID , ZONE , DISK_NAME_DUMMY , SNAPSHOT_NAME );
127132 String diskSnapshotLink = String .format ("projects/%s/global/snapshots/%s" , PROJECT_ID ,
128133 SNAPSHOT_NAME );
129134 TimeUnit .SECONDS .sleep (5 );
130- CreateDiskFromSnapshot .createDiskFromSnapshot (PROJECT_ID , ZONE , DISK_NAME_2 , DISK_TYPE , 10 ,
135+ CreateDiskFromSnapshot .createDiskFromSnapshot (
136+ PROJECT_ID , ZONE , DISK_NAME_2 , DISK_TYPE , DISK_SIZE ,
131137 diskSnapshotLink );
132138 assertThat (stdOut .toString ()).contains ("Disk created." );
133139
134140 // Create empty disk.
135- CreateEmptyDisk .createEmptyDisk (PROJECT_ID , ZONE , EMPTY_DISK_NAME , DISK_TYPE , 10 );
141+ CreateEmptyDisk .createEmptyDisk (PROJECT_ID , ZONE , EMPTY_DISK_NAME , DISK_TYPE , DISK_SIZE );
136142 assertThat (stdOut .toString ()).contains ("Empty disk created." );
137143
138144 // Set Disk autodelete.
@@ -174,6 +180,7 @@ public static void cleanUp()
174180 DeleteDisk .deleteDisk (PROJECT_ID , ZONE , ZONAL_BLANK_DISK );
175181 RegionalDelete .deleteRegionalDisk (PROJECT_ID , REGION , REGIONAL_BLANK_DISK );
176182 RegionalDelete .deleteRegionalDisk (PROJECT_ID , REGION , REGIONAL_REPLICATED_DISK );
183+ RegionalDelete .deleteRegionalDisk (PROJECT_ID , "us-central1" , SECONDARY_REGIONAL_DISK );
177184
178185 stdOut .close ();
179186 System .setOut (out );
@@ -214,7 +221,7 @@ public static void createInstance(String projectId, String zone, String instance
214221 .setAutoDelete (false )
215222 .setBoot (true )
216223 .setInitializeParams (AttachedDiskInitializeParams .newBuilder ()
217- .setDiskSizeGb (10 )
224+ .setDiskSizeGb (DISK_SIZE )
218225 .setSourceImage (sourceImage )
219226 .setDiskName (diskName )
220227 .build ())
@@ -243,15 +250,15 @@ public static void createInstance(String projectId, String zone, String instance
243250 public static void createZonalDisk ()
244251 throws IOException , ExecutionException , InterruptedException , TimeoutException {
245252 String diskType = String .format ("zones/%s/diskTypes/pd-standard" , ZONE );
246- CreateEmptyDisk .createEmptyDisk (PROJECT_ID , ZONE , ZONAL_BLANK_DISK , diskType , 12 );
253+ CreateEmptyDisk .createEmptyDisk (PROJECT_ID , ZONE , ZONAL_BLANK_DISK , diskType , DISK_SIZE );
247254 }
248255
249256 public static void createRegionalDisk ()
250257 throws IOException , ExecutionException , InterruptedException , TimeoutException {
251258 String diskType = String .format ("regions/%s/diskTypes/pd-balanced" , REGION );
252259
253260 RegionalCreateFromSource .createRegionalDisk (PROJECT_ID , REGION , replicaZones ,
254- REGIONAL_BLANK_DISK , diskType , 11 , Optional .empty (), Optional .empty ());
261+ REGIONAL_BLANK_DISK , diskType , 10 , Optional .empty (), Optional .empty ());
255262 }
256263
257264 @ BeforeEach
@@ -311,4 +318,16 @@ public void testCreateReplicatedDisk()
311318
312319 assertThat (status ).isEqualTo (Status .DONE );
313320 }
321+
322+ @ Test
323+ public void testCreateDiskSecondaryRegional ()
324+ throws IOException , ExecutionException , InterruptedException , TimeoutException {
325+ String diskType = String .format (
326+ "projects/%s/regions/%s/diskTypes/pd-balanced" , PROJECT_ID , REGION );
327+ Status status = CreateDiskSecondaryRegional .createDiskSecondaryRegional (
328+ PROJECT_ID , PROJECT_ID , REGIONAL_BLANK_DISK , SECONDARY_REGIONAL_DISK ,
329+ REGION , "us-central1" , DISK_SIZE , diskType );
330+
331+ assertThat (status ).isEqualTo (Status .DONE );
332+ }
314333}
0 commit comments