_, err = podClient.Create(host0Pod) framework.ExpectNoError(err, fmt.Sprintf("Failed to create host0pod: %v", err)) framework.ExpectNoError(f.WaitForPodRunningSlow(host0Pod.Name)) testFile := "/testpd1/tracker" testFileContents := fmt.Sprintf("%v", mathrand.Int()) framework.ExpectNoError(f.WriteFileViaContainer(host0Pod.Name, containerName, testFile, testFileContents)) framework.Logf("Wrote value: %v", testFileContents) // Verify that disk shows up in node 0's volumeInUse list framework.ExpectNoError(waitForPDInVolumesInUse(nodeClient, diskName, host0Name, nodeStatusTimeout, true /* should exist*/)) By("deleting api object of host0") framework.ExpectNoError(nodeClient.Delete(string(host0Name), v1.NewDeleteOptions(0)), "Unable to delete host0") By("deleting host0pod") framework.ExpectNoError(podClient.Delete(host0Pod.Name, v1.NewDeleteOptions(0)), "Unable to delete host0Pod") // The disk should be detached from host0 on its deletion By("Waiting for pd to detach from host0") framework.ExpectNoError(waitForPDDetach(diskName, host0Name), "Timed out waiting for detach pd") }) }) func createPDWithRetry() (string, error) { newDiskName := "" var err error for start := time.Now(); time.Since(start) < gcePDRetryTimeout; time.Sleep(gcePDRetryPollTime) { if newDiskName, err = createPD(); err != nil { framework.Logf("Couldn't create a new PD. Sleeping 5 seconds (%v)", err)