Source:
<code>public void prepare(KubernetesEnvironment k8sEnv, String workspaceId, long timeoutMillis) throws InfrastructureException { TracingTags.WORKSPACE_ID.set(workspaceId); if (EphemeralWorkspaceUtility.isEphemeral(k8sEnv.getAttributes())) { return; } log.debug("Preparing PVC started for workspace '{}'", workspaceId); Map<String, PersistentVolumeClaim> claims = k8sEnv.getPersistentVolumeClaims(); if (claims.isEmpty()) { return; } if (claims.size() > 1) { throw new InfrastructureException( format( "The only one PVC MUST be present in common strategy while it contains: %s.", claims.keySet().stream().collect(joining(", ")))); } PersistentVolumeClaim commonPVC = claims.values().iterator().next(); final KubernetesNamespace namespace = factory.create(workspaceId); final KubernetesPersistentVolumeClaims pvcs = namespace.persistentVolumeClaims(); final Set<String> existing = pvcs.get().stream().map(p -> p.getMetadata().getName()).collect(toSet()); if (!existing.contains(commonPVC.getMetadata().getName())) { log.debug("Creating PVC for workspace '{}'", workspaceId); pvcs.create(commonPVC); if (waitBound) { <START> log.debug("Waiting PVC for workspace '{}' to be bound", workspaceId); <END> pvcs.waitBound(commonPVC.getMetadata().getName(), timeoutMillis); } } final String[] subpaths = (String[]) commonPVC.getAdditionalProperties().remove(format(SUBPATHS_PROPERTY_FMT, workspaceId)); if (preCreateDirs && subpaths != null) { pvcSubPathHelper.createDirs(workspaceId, commonPVC.getMetadata().getName(), subpaths); } log.debug("Preparing PVC done for workspace '{}'", workspaceId); }</code><technical_language>Proper English "Waiting for workspace PVC bound"</technical_language>

Target:
public void prepare(KubernetesEnvironment k8sEnv, String workspaceId, long timeoutMillis) throws InfrastructureException { TracingTags.WORKSPACE_ID.set(workspaceId); if (EphemeralWorkspaceUtility.isEphemeral(k8sEnv.getAttributes())) { return; } log.debug("Preparing PVC started for workspace '{}'", workspaceId); Map<String, PersistentVolumeClaim> claims = k8sEnv.getPersistentVolumeClaims(); if (claims.isEmpty()) { return; } if (claims.size() > 1) { throw new InfrastructureException( format( "The only one PVC MUST be present in common strategy while it contains: %s.", claims.keySet().stream().collect(joining(", ")))); } PersistentVolumeClaim commonPVC = claims.values().iterator().next(); final KubernetesNamespace namespace = factory.create(workspaceId); final KubernetesPersistentVolumeClaims pvcs = namespace.persistentVolumeClaims(); final Set<String> existing = pvcs.get().stream().map(p -> p.getMetadata().getName()).collect(toSet()); if (!existing.contains(commonPVC.getMetadata().getName())) { log.debug("Creating PVC for workspace '{}'", workspaceId); pvcs.create(commonPVC); if (waitBound) { log.debug("Waiting for PVC for workspace '{}' to be bound", workspaceId); pvcs.waitBound(commonPVC.getMetadata().getName(), timeoutMillis); } } final String[] subpaths = (String[]) commonPVC.getAdditionalProperties().remove(format(SUBPATHS_PROPERTY_FMT, workspaceId)); if (preCreateDirs && subpaths != null) { pvcSubPathHelper.createDirs(workspaceId, commonPVC.getMetadata().getName(), subpaths); } log.debug("Preparing PVC done for workspace '{}'", workspaceId); }