Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.2.0 merge #128

Merged
merged 149 commits into from
Dec 9, 2022
Merged

1.2.0 merge #128

merged 149 commits into from
Dec 9, 2022

Conversation

pspace-jwkwak
Copy link
Contributor

v1.2.0

ksanGW

AWS S3-Compatible API 지원

  • (NEW) DeleteBucketLogging
  • (NEW) DeleteBucketTagIndex
  • (NEW) GetBucketLogging
  • (NEW) GetBucketTagIndex
  • (UPDATE) GetObejctLockConfiguration → GetObjectLegalHold
  • (NEW) PostObject
  • (NEW) PutBucketLogging
  • (NEW) PutBucketTagIndex
  • (UPDATE) PutObjectLockConfiguration → PutObjectLegalHold
  • (NEW) PutObjectRetention
  • (NEW) RestoreObject
  • (BUG-FIX) KsanReplication
    • 연동 관련 API 버그 수정
  • (ENHANCEMENT) PutObject
    • MD5 : OpenSSL4로 변경
  • (ENHANCEMENT) 모든 API
    • Polish, Grant 확인 코드 추가
  • (BUG-FIX) CompleteMultipartUpload, UploadPart, UploadCopyPart
    • 로컬 디스크가 없는 경우 OSD 연동 처리 버그 수정
  • (ENHANCEMENT) GetObject, DeleteObject
    • object가 EC된 경우 처리 추가

Azure Blob Storage Compatible API 지원

  • (NEW) CreateContainer
  • (NEW) DeleteBlob
  • (NEW) DeleteContainer
  • (NEW) GetProperties
  • (NEW) HeadBlob
  • (NEW) HeadContainer
  • (NEW) ListBlobs
  • (NEW) ListContainers
  • (NEW) PutBlob
  • (NEW) PutBlock
  • (NEW) PutBlockList
  • (NEW) SharedKeyAuth

ObjManager

  • (NEW) search objects with tags future
  • (NEW) Store and retrieve restoreObject request
  • (BUG-FIX) In maraidb backend, utfmb4 typed column not support indexing when the string have more than 191 character bug fix.

ksanOSD

  • (ENHANCEMENT) Header 처리 방식 수정
    • CompleteMultipartUpload를 처리하기 위해서 PartList 정보를 받기 위해 Header 길이 설정하는 부분 수정
  • (ENHANCEMENT) trash 파일 지우는 Thread, Cache 에서 Disk로 옮기는 Thread
    • Config 설정에 의해 동작하도록 변경
  • (NEW) getECpart, putECPart, deleteECPart
    • EC 처리

ksanApiPortal

  • (NEW) EC 설정기능 추가
  • (NEW) 서비스 조회시 서버 정보를 포함하여 전달 하도록 변경
  • (NEW) 서버 세부 조회 API 추가(/ap1/v1/Servers/Details)
  • (NEW) 최초 설치시 서비스와 설정정보를 자동으로 등록하는 기능 추가
    • ksanReplicationManager
    • ksanLifecycleManager
    • ksanLogManager
    • ksanGW
    • ksanOSD
  • (ENHANCEMENT) 디스크풀의 타입과 Replication 설정이 변경 가능하도록 개선
  • (ENHANCEMENT) Disk, DiskPool, Server, Service, KsanUSer 의 이름 중복 검사 기능 개선
  • (ENHANCEMENT) 명칭 변경으로 config, serviceType의 값도 동일하게 변경
    • ksanReplication → ksanReplicationManager
    • ksanLifecycle→ksanLifecycleManager
    • ksanLogmanager→KsanLogManager
  • (ENHANCEMENT) 디스크를 서비스에 추가할 수 없도록 변경
  • (ENHANCEMENT) 서버에 연결된 서비스가 존재할 경우 삭제할 수 없도록 변경
  • (ENHANCEMENT) 서버 정보 조회시 Free 메모리 용량을 자동 계산하도록 변경
  • (ENHANCEMENT) 디스크의 서버 정보를 변경할 수 있도록 개선
  • (ENHANCEMENT) RabbitMQ의 연결이 끊어졌을 경우 자동으로 재시도 하도록 변경
  • (ENHANCEMENT) 환경변수로 최초 생성 유저의 정보를 고정 할 수 있도록 개선
  • (BUG-FIX) Service 등록실패시 메시지의 오타 수정
  • (BUG-FIX) KsanAgent → ksanAgent 대소문자 오타 수정
  • (BUG-FIX) 스토리지 클래스 명이 소문자로 전달되는 버그 수정
  • (BUG-FIX) 서버, 서비스의 상태가 반영되지 않는 버그 수정
  • (BUG-FIX) 환경변수가 제대로 반영되지 않는 버그 수정

ksanAgent

  • (ENHANCEMENT) rabbitmq 서버 연결 실패 시 retry 기능 추가
  • (BUG-FIX) 서비스 추가 시 .ServiceId 파일의 ServiceId 중복되는 버그 수정

ksanLifecycleManager

  • (ENHANCEMENT) ksanLifecycle이 ksanLifecycleManager로 명칭이 변경
    • log 설정 파일 명칭 변경
    • 서비스 명 변경
    • Docker 파일명 변경
    • Docker 이미지명 변경

ksanLogManager

  • (NEW) ksanGW의 로그를 RabbitMQ로 받아서 DB에 저장
  • (NEW) ksanReplicationManger의 로그를 RabbitMQ로 받아서 DB에 저장
  • (NEW) ksanLifecycleManager의 로그를 RabbitMQ로 받아서 DB에 저장

ksanReplicationManager

  • (NEW) ksanGW의 로그를 RabbitMQ로 받아서 버킷의 Replication 설정에 따라 복제
  • (BUG-FIX) ReplicationData : Boolean → boolean 으로 변수타입 수정 (Null값 불허용)

CLI & Utility

통합 관리 도구(CLI)

  • (BUG-FIX) ksan 유틸리티 참조 모듈 path 위치 못 찾는 버그 수정
  • (NEW) ksanFsck, ksanCbalance, ksanGetattr 기능을 ksan 유틸리티에 연동
  • (NEW) ServerId 기준 서버 ip/netmask/gateway 변경 기능 ksan 유틸리티에 추가
  • (NEW) DiskId 기준 ServerId 정보 변경 기능 ksan 유틸리티에 추가
  • (ENHANCEMENT) ksan 정보 출력 결과 (sysinfo, server, disk, diskpool, service, user) format 변경 및 정렬
  • (ENHANCEMENT) Diskpool replication 타입 변경(--RepType → --Tolerance)
  • (ENHANCEMENT) Diskpool replication 타입 추가(EC)

ETC

설치 스크립트

  • (NEW) ksanLifecycleManager, ksanLogManager, ksanReplicationManager 모듈 설치 기능 추가
  • (NEW) offline/timeout/unknown 서비스 모니터링 및 재시작 기능 추가
  • (ENHANCEMENT) 설치 summary 정보 변경
  • (BUG-FIX) docker-support 모듈 패치 버그 수정

한계 및 향후 계획

한계 및 알려진 문제점

  • ksanReplicationManager
    • DeleteMarker 동기화 기능 동작시 DeleteObjects로 삭제한 오브젝트의 동기화가 올바르게 동작하지 않음
    • CopyObject로 업로드한 오브젝트가 복제되지 않음

향후 계획

  • WEB 기반 KSAN 관리 인터페이스 개발 및 공개 (프로토타입)
  • ksanReplicationManager
    • 설정 지원 도구(CLI) 개발 및 공개
    • 알려진 문제점 해결 (DeleteMarker, CopyObject 대응 등)
  • ksanLifecycleManager
    • s3backend의 공통 라이브러리를 사용하도록 변경
  • ksanGW
    • S3 서비스 성능 최적화
    • Azure Blob Service 안정화
    • Erasure Coding 기능 안정화
  • ksanFSCK
    • Erasure Coding 오브젝트 정합성 검사 및 복구 지원

legesse24 and others added 30 commits September 22, 2022 18:52
…r option, if you want to set pass true as paramter
@pspace-jwkwak pspace-jwkwak self-assigned this Dec 9, 2022
@jssinn jssinn changed the title 1.2.0 alpha 1.2.0 merge Dec 9, 2022
@jssinn jssinn merged commit 6094d22 into master Dec 9, 2022
@jssinn jssinn deleted the 1.2.0-alpha branch December 9, 2022 08:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants