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

Separate ControlMCIS REST API & Update test scripts #695

Merged

Conversation

jihoon-seo
Copy link
Member

  • Separate ControlMCIS REST API
  • Update test scripts
    • Related PR:
      Change method to input parameters for script #677
      Enhance testscript environment #688
    • create/register-*.sh, delete/unregister-*.sh 스크립트가
      -n myname01 -f ../testSet.env 형식의 인자도 받을 수 있도록 수정
    • create-all.sh, clean-all.sh 스크립트가 정상적으로 동작하도록 수정
      (AWS Singapore + AWS Canada Central + GCP Taiwan + GCP Frankfurt (Germany) 로 구성되는 단일 MCIS 생성/삭제 테스트 완료)
    • TODO: 이 변경사항을 나머지 (get-*.sh, ...) 스크립트에도 반영

@jihoon-seo jihoon-seo requested a review from seokho-son August 31, 2021 04:47
@jihoon-seo
Copy link
Member Author

기존 ControlMCIS API (GET http://localhost:1323/tumblebug/ns/:nsId/mcis/:mcisId/vm/:vmId?action=suspend) 를 바로 제거하면
cb-webtool 등에서 CB-Tumblebug을 호출할 때 문제가 발생하므로
일단 이 PR에서는 제거하지 않고 둘 (기존 API + 신규 API) 모두 사용 가능하도록 하였습니다.

추후 적절한 시점 (예: CB-Tumblebug API의 대대적 업데이트 시) 에
기존 ControlMCIS API (GET http://localhost:1323/tumblebug/ns/:nsId/mcis/:mcisId/vm/:vmId?action=suspend) 를 제거하면 되겠습니다. 😊


action := c.QueryParam("action")

if action == "suspend" || action == "resume" || action == "reboot" || action == "terminate" {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

action == "refine" 이 생략된 이유가 있을까요?

refine 관련 스크립트는 해당 커맨드를 실행하게 될 것 같았는데, 로직상 처리되지 않을 것 같다는 생각이 듭니다.. ^^

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

refine 스크립트에서는 기존 함수 사용하네요..^^ 저의 착각.

ControlCmd=refine
curl -H "${AUTH}" -sX GET http://$TumblebugServer/tumblebug/ns/$NSID/mcis/${MCISID}?action=${ControlCmd} | jq ''

// @Produce json
// @Param nsId path string true "Namespace ID"
// @Param mcisId path string true "MCIS ID"
// @Param action query string false "Action to MCIS" Enums(status, suspend, resume, reboot, terminate)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// @Param action query string false "Action to MCIS" Enums(status, suspend, resume, reboot, terminate)
// @Param action query string false "Action to MCIS" Enums(suspend, resume, reboot, terminate, refine)
  • status 도 이 함수에서 처리하게 되는지요?
  • refine 은 어디에 보내는게 좋을까요?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

336 라인에서 status, 부분은 삭제하는 것이 맞겠습니다. 😊

As of 2021-09-15:

  • refine 기능은 /ns/{nsId}/mcis/{mcisId} [get] API에 들어 있습니다 😊
  • suspend, resume, reboot, terminate 기능이 /ns/{nsId}/mcis/{mcisId} [get] API에도 남아 있습니다.
    제거해도 괜찮다면 (cb-webtool, CB-MCKS 에 안내 등), 제거하면 좋겠네요 😊

  • /ns/{nsId}/mcis/{mcisId} [get] API에는 정보/상태 조회 기능 (metadata, status, id, simple) 만 남긴다면,
    refine 기능은 다른 API로 옮기는 것이 좋을 것 같습니다. 😊
    • 그런데, /ns/{nsId}/control/mcis/{mcisId} [get] 은 약간.. 라이프사이클 컨트롤 API 같아 보이는 저의 고정관념이 있어서
      refine 기능을 /ns/{nsId}/control/mcis/{mcisId} [get] API로 옮기는 것이 적절한지는 저는 약간 고민스럽네요.. 🤔

@seokho-son
Copy link
Member

@jihoon-seo 추가된 함수는 기존 기능에 영향을 미치지 않으므로, 리뷰 의견이 있으나 향후 이슈로 처리하면 좋을 것 같습니다.. ^^

@seokho-son
Copy link
Member

/approve

@seokho-son seokho-son merged commit 9fa7b13 into cloud-barista:main Aug 31, 2021
@jihoon-seo jihoon-seo deleted the 210831_Update_test_scripts branch September 1, 2021 00:37
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.

Suggestion: Move action=terminate from HTTP GET to HTTP PUT
2 participants