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

[Server] UUID or NameID #18

Open
powerkimhub opened this issue Jul 1, 2024 · 5 comments
Open

[Server] UUID or NameID #18

powerkimhub opened this issue Jul 1, 2024 · 5 comments
Assignees
Labels
enhancement New feature or request

Comments

@powerkimhub
Copy link
Member

  • 현재 타 FW들의 경우,
  • 사용자의 가독성 및 편의성을 위해서 UUID 보다는 NameId를 Unique ID로 사용합니다.
  • 일관성 측면에서 이에 대한 변경을 검토해주시기 바랍니다.
  • 예를 들면,
    • 다음 Import Source Info의 경우
    curl -X 'GET' \
    'http://172.24.190.123:8081/honeybee/source_group/b9e86d53-9fbe-4a96-9e06-627f77fdd6b7/connection_info/2f678139-e6e6-43e8-9722-33b834efc563/import/infra' \
    -H 'accept: application/json'
    
    • 다음처럼 제공
    curl -X 'GET' \
    'http://172.24.190.123:8081/honeybee/source_group/group-01/connection_info/connection-01/import/infra' \
    -H 'accept: application/json'
    
@powerkimhub powerkimhub added the enhancement New feature or request label Jul 1, 2024
@ish-hcc ish-hcc closed this as completed in aca56e1 Jul 3, 2024
@ish-hcc ish-hcc self-assigned this Jul 3, 2024
@powerkimhub
Copy link
Member Author

@ish-hcc


  • 제안 드린 내용은,
  • (1) 사용자가 부여한 NameId(ex: test-group)이 ID로 사용되는 것을 제안 드린 상황이었습니다.

  • 반영된 다음 Guide에 따르면,

  • (2) 현재는 honeybee 시스템이 내부에서 발급한 ID(ex: group-01)를 사용자가 확인 후 활용되고 있습니다.

  • ID 부여 방법 참고

    • (1) 방법: GCP 스타일, Spider, Tumblebug 등 스타일
      • 장점: 사용자가 ID를 정하기 때문에, 확인 과정이 불필요
      • 단점: 시스템 내부에서 사용자 부여 ID에 대한 중복 처리 등 부가적인 관리 필요
    • (2) 방법: AWS 스타일
      • 장점: UUID 등 중복되지 않는 ID 발급 활용 가능
      • 단점: 사용자는 자원 생성 후에 발급된 ID를 확인 후에야 활용 가능

  • 어떤 방식이든 운영은 가능합니다만,
  • 주 사용자인 @yunkon-kim 의견을 들어보시고 최종 결졍해주시면 좋을 것 같습니다.

@yunkon-kim
Copy link
Member

yunkon-kim commented Jul 4, 2024

@ish-hcc @powerkimhub

말씀 나누신 사항에 대해서는 잘 이해했습니다. 현재 CM-Honeybee v0.2.0 릴리스를 추진 중으로, 이슈 처리 시기는 메인테이너께서 정하시면 될 것 같습니다.

(추가) 참고로, 5/28 워크샵에서 제기된 아래 건과도 관련이 있습니다.

마이그레이션 시에 컴퓨팅 인프라의 그룹 지정이 필요한가?
예) 소스 컴퓨팅 인프라 그룹 지정 및 관리 주체는? 관리를 위한 ID / NameId 및 정보의 관리는?

다음으로, CM-Beetle의 현황을 공유드립니다.

  • CM-Beetle은 CM-Honeybee의 "소스 컴퓨팅 인프라 추출 메트릭" 구조체를 임시로 활용하고 있습니다.
    • 현재, "인프라 소스 모델(온프레미스 모델)"이 정립되지 않아서 임시로 이렇게 하고 있습니다.
  • CM-Beetle은 CM-Honeybee의 API를 호출하는 것에 대해서는 고려하고 있지 않습니다.
    • 더욱 상위(?)의 서브시스템에서 호출할 것이라고 생각합니다. (예, Cicada, Butterfly)

앞으로, 예샹되는 과정이 다음과 같습니다. 참고 부탁드리며, 다른 의견이 있으시면 편하게 말씀해주십시오 ^^

  1. 상위 서브시스템에서 Honeybee의 소스 컴퓨팅 형상 정보 추출 API를 호출하면, 결과로 "인프라 소스 모델(온프레미스 모델)"을 응답
  2. 상위 서브시스템에서 획득한 "인프라 소스 모델(온프레미스 모델)"을 필요에 따라 수정
  3. 상위 서스시스템은 Beetle의 인프라 추천 API를 호출하면(Request body = "인프라 소스 모델(온프레미스 모델)"), 결과로 "인프라 목표 모델(클라우드 모델)'을 응답

@ish-hcc ish-hcc closed this as completed in d7c645c Jul 4, 2024
@ish-hcc ish-hcc reopened this Jul 4, 2024
@ish-hcc
Copy link
Member

ish-hcc commented Jul 4, 2024

@powerkimhub @yunkon-kim
현상황 공유 드립니다.
최근에 반영했던 부분이 connection info의 경우에는 connection-XX (XX는 01 ~ 99 중의 랜덤값)
source group 같은 경우에는 group-XX (XX는 01 ~ 99 중의 랜덤값)
로 ID가 생성되게 하여 저장하도록 하려고 했었습니다.

일단 의견 주셨던 부분과 다르게 생각했던거 같아 변경 사항은 Revert 하였습니다.

conneciton info나 source group 생성시 사용되는 name은 현재 SQLite 상에 unique한지 체크하도록 설정한 상태입니다.
name은 중복방지를 해둔 상태이며, 내부적으로 ID는 UUID를 생성합니다.

김윤곤 박사님과 유선상으로 논의하여 일단 메가존하고 공유된 사항은 UUID를 통해서 구분을 하도록 하여서 현 시점에서는 UUID를 사용하도록 두려고 합니다.

한가지 의견을 드리자면 현재 name은 unique 하기 때문에
URL을 아래처럼 2가지 방법으로 제공하는건 어떤지 의견을 드리고자 합니다. (v0.2.0 이후에 논의를 통하여 추진)

UUID 방식의 접근
http://172.24.190.123:8081/honeybee/source_group/b9e86d53-9fbe-4a96-9e06-627f77fdd6b7/connection_info/2f678139-e6e6-43e8-9722-33b834efc563/import/infra

Name 방식의 접근 (Source Group Name: test-group, Connection Info Name: cm-nfs)
http://172.24.190.123:8081/honeybee/source_group/test-group/connection_info/cm-nfs/import/infra

@powerkimhub
Copy link
Member Author

@ish-hcc

  • 넵, 캄사합니다.

@yunkon-kim
Copy link
Member

@ish-hcc 빠르게 대응해주셔서 감사드립니다.

조만간 (안)을 마련하여 논의 회의를 추진하도록 하겠습니다 :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants