프로젝트

일반

사용자 정보

새 기능 #12943

이 헌제님이 9일 전에 변경

### 개요 

 - csi-dirver 에 의해 PVC 생성 시 생성된 볼륨이 아닌, AnyStor-E 에 이미 운영중인 볼륨을 PVC 생성 시 해당 볼륨을 지정하여 PV 로 생성할 수 있어야 한다.  

 ### 해결안 

 - pvc 에 annotation 을 넣어서 지정되어 있으면 연결 하는 로직 추가 

 ``` 
 pvc, err := k8sClient.CoreV1().PersistentVolumeClaims(ns).Get(ctx, pvcName, metav1.GetOptions{}) 
 lv := pvc.Annotations["gms.io/lv"] 
 ``` 

 - Persistent Volume 제거 시에도 LV 가 지정되어 있는 경우라면 원래 볼륨을 제거하지는 않도록 한다.  
 - 복구한 경우는 어떻게 할지 구상 필요 

 ### 변경사항 요청 

 1. api/v1/LogicalVolume.go 에 InPreserved 필드 추가  
 2. pkg/server/controller.go 에 PVC annotation 처리 로직 추가 
 3. pkg/controller/logicalvolumes_controller.go 에 InPreserved 확인 로직 추가 
 4. pkg/storage/persistentvolume.go 에 perserveLV 파라미터 추가  
 5. 예제 파일 개선 
 6. 그 외 목표에 맞는 처리 구현 

 ### 난이도 및 추정시간 

 - 해결안으로 끝나면 난이도는 쉬움, 테스트는 스냅샷까지 다양하게 테스트해봐야 할 것 같아서, 추정시간 6시간 

뒤로

클립보드 이미지 추가 (최대 크기: 50 MB)