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

Add list MCIS simple option #731

Merged
merged 4 commits into from
Sep 13, 2021
Merged

Add list MCIS simple option #731

merged 4 commits into from
Sep 13, 2021

Conversation

seokho-son
Copy link
Member

@seokho-son seokho-son commented Sep 13, 2021

Feature request from cb-webtool. @MZC-CSC

MCIS 목록 조회에서
협의 내용대로 최초 ID 목록 조회 후 각 MCID ID 별로 상세조회하여 table에 data를 채우려고 했는데
mcis 목록에 표시되는 내용이 MCIS ID, MCIS Name, MCIS Status 정도라
option=simple 같은 것으로 최소 필수 값정도를 목록으로 가져오는게 있으면 좋겠습니다.

가령 mcis status 를 가져올 때 vm을 바라보지 않아도 된다면 mcis 정보만 가져와도
id 가져온 후 상세 조회를 일일이 던지는 것 보다 불필요한 트래픽이 줄어들고 표시하기도 용이할 것 같습니다.

According to request, this PR adds the feature to list MCIS with simple response option.
With the option=simple, CB-TB doesn't include VM details in the response body.

Test example

[Request URL]

GET http://localhost:1323/tumblebug/ns/tb01/mcis?option=simple

[Response body]

{
  "mcis": [
    {
      "id": "cb-shson01",
      "name": "cb-shson01",
      "status": "Running-3(3/3)",
      "targetStatus": "None",
      "targetAction": "None",
      "installMonAgent": "no",
      "label": "generated by script",
      "placementAlgo": "",
      "description": "Tumblebug Demo",
      "vm": null
    },
    {
      "id": "cb-shson02",
      "name": "cb-shson02",
      "status": "Running-3(3/3)",
      "targetStatus": "None",
      "targetAction": "None",
      "installMonAgent": "no",
      "label": "generated by script",
      "placementAlgo": "",
      "description": "Tumblebug Demo",
      "vm": null
    },
    {
      "id": "cb-shson03",
      "name": "cb-shson03",
      "status": "Running-3(3/3)",
      "targetStatus": "None",
      "targetAction": "None",
      "installMonAgent": "no",
      "label": "generated by script",
      "placementAlgo": "",
      "description": "Tumblebug Demo",
      "vm": null
    },
    {
      "id": "cb-shson04",
      "name": "cb-shson04",
      "status": "Running-7(7/7)",
      "targetStatus": "None",
      "targetAction": "None",
      "installMonAgent": "no",
      "label": "generated by script",
      "placementAlgo": "",
      "description": "Tumblebug Demo",
      "vm": null
    }
  ]
}

Copy link
Member

@jihoon-seo jihoon-seo left a comment

Choose a reason for hiding this comment

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

@seokho-son 리뷰를 해 보았습니다 😊
그리고 GET http://localhost:1323/tumblebug/ns/tb01/mcis?option=simple 을 테스트할 수 있는 테스트 스크립트가 있으면
다른 분들도 바로 테스트를 해 볼 수 있을 것 같은데.. 어떻게 생각하시나요 😊

Comment on lines 181 to 185
} else if option == "simple" {
// mcis in detail (with status information)
detail := "simple"

result, err := mcis.CoreGetAllMcis(nsId, detail)
Copy link
Member

Choose a reason for hiding this comment

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

detail 변수를 새로 만들지 않고 다음과 같이 할 수도 있긴 한데.. minor 한 사항이기는 합니다.. 😊

Suggested change
} else if option == "simple" {
// mcis in detail (with status information)
detail := "simple"
result, err := mcis.CoreGetAllMcis(nsId, detail)
} else if option == "simple" {
// mcis in detail (with status information)
result, err := mcis.CoreGetAllMcis(nsId, option)

Copy link
Member Author

Choose a reason for hiding this comment

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

좋네요.. ^^ 업데이트 하겠습니다.

//mapA := map[string]string{"message": "Cannot find " + key}
//return c.JSON(http.StatusOK, &mapA)
return nil, fmt.Errorf("in CoreGetAllMcis() vm loop; Cannot find " + vmKey)
if option != "simple" {
Copy link
Member

Choose a reason for hiding this comment

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

option != "simple" 이라 하면

  • option == "id"
  • option == "status"
  • option == (whatever)

인 경우겠네요.. ㅎㅎ
(개인적인 이해를 위해 기록을 남겨 봅니다 😊)

@seokho-son
Copy link
Member Author

@seokho-son 리뷰를 해 보았습니다 😊
그리고 GET http://localhost:1323/tumblebug/ns/tb01/mcis?option=simple 을 테스트할 수 있는 테스트 스크립트가 있으면
다른 분들도 바로 테스트를 해 볼 수 있을 것 같은데.. 어떻게 생각하시나요 😊

감사합니다~~
단순 API에 대한 테스트 스크립트는 너무 많이 만들지 않는 것이 좋을 것 같다는 생각입니다.
저는 보통 파라미터를 많이 넣어야 하는 API 콜이 아니라면 Swagger dashboard 를 활용하고 있습니다. 특히 list 류의 api는 쉽게 확인이 가능합니다.

필요에 따라선, 기존 스크립트에 옵션을 제공하도록 개선해 볼 수 있겠습니다.

@seokho-son
Copy link
Member Author

@jihoon-seo 리뷰 의견을 고려하여, PR을 업데이트하였습니다. (커밋 추가)
확인 부탁 드립니다.. ^^

@jihoon-seo jihoon-seo merged commit 640988d into cloud-barista:main Sep 13, 2021
@seokho-son
Copy link
Member Author

@all-contributors please add @MZC-CSC for Ideas & Planning

@allcontributors
Copy link
Contributor

@seokho-son

I've put up a pull request to add @MZC-CSC! 🎉

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.

2 participants