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

remove underscore from variable names #684

Merged
merged 4 commits into from
Aug 31, 2021

Conversation

computerphilosopher
Copy link
Member

#654 관련 PR입니다.

변수 이름에서 underscore를 제거하고 camel case로 바꿨습니다.

Make 되는 것 확인했습니다.

@seokho-son
Copy link
Member

@computerphilosopher 기여 감사합니다 ~~ !! ^^

기여자께서 camel case 로 일관성을 맞춰주셨습니다.

일부 변수명은 약어(보통 대문자로 가이드 되는..)가 함께 포함되어 있어서,
camel case로 했을 때 일관성을 맞춰야 하는 부분이 있을 것 같습니다. 이번 기회에 정리를 한번 하면 좋을 것 같습니다!

예를 들면,

  • DBUrl ? DBURL ? DbUrl ? dbUrl (Golang은 첫 대문자를 external로 처리).. ?
  • NumvCPU? NumVCPU ? NumVcpu ? 아니면 .. NumCPU ? NumCpu ?

참고: https://github.com/golang/go/wiki/CodeReviewComments#initialisms

Initialisms
Words in names that are initialisms or acronyms (e.g. "URL" or "NATO") have a consistent case. For example, "URL" should appear as "URL" or "url" (as in "urlPony", or "URLPony"), never as "Url". As an example: ServeHTTP not ServeHttp. For identifiers with multiple initialized "words", use for example "xmlHTTPRequest" or "XMLHTTPRequest".

This rule also applies to "ID" when it is short for "identifier" (which is pretty much all cases when it's not the "id" as in "ego", "superego"), so write "appID" instead of "appId".

Code generated by the protocol buffer compiler is exempt from this rule. Human-written code is held to a higher standard than machine-written code.

@jihoon-seo @hermitkim1 함께 봐주시면 좋을 것 같습니다.. ^^

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.

@computerphilosopher 기여 감사합니다 😊

이 리뷰는 @computerphilosopher 님께 즉각적인 후속조치를 요청하는 리뷰는 아니며
변수 명칭 등의 스타일에 대한 의견을 내는 리뷰로 보시면 되겠습니다. 😊

@@ -374,7 +374,7 @@ func (s *MCISService) RecommendMcis(ctx context.Context, req *pb.McisRecommendCr
}

content := rest_mcis.RestPostMcisRecommendResponse{}
content.Vm_recommend = result
content.VmRecommend = result
Copy link
Member

Choose a reason for hiding this comment

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

@seokho-son
https://github.com/golang/go/wiki/CodeReviewComments#initialisms 에 따라
VMRecommend 가 적절하려나요 ㅎㅎ
또는, VMRecommendation 등등..

Copy link
Member

Choose a reason for hiding this comment

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

RecommendedVM은 어떠신지요? ^^

Comment on lines +27 to +33
var SpiderRestUrl string
var DragonflyRestUrl string
var DBUrl string
var DBDatabase string
var DBUser string
var DBPassword string
var AutocontrolDurationMs string
Copy link
Member

Choose a reason for hiding this comment

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

이 변수들은, CB-Tumblebug에서 사용되고 있는 Environment variable 들과 대응되는 Go variable 들이라서
Go variable 이름을 Environment variable 과 동일하게 맞춘 측면이 있기는 합니다.. 😊

Copy link
Member Author

Choose a reason for hiding this comment

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

환경변수와 관련된 string 변수를 struct로 묶어서 환경변수와 관련 있다는 사실을 드러내면 어떨까요?

type EnvironmentVariable struct {
	SpiderRestUrl         string
	DragonflyRestUrl      string
	DBUrl                 string
	DBDatabase            string
	DBUser                string
	DBPassword            string
	AutocontrolDurationMs string
}

var EnvVar EnvironmentVariable

Copy link
Member

Choose a reason for hiding this comment

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

@computerphilosopher 좋은 아이디어 같습니다!! 😊

Copy link
Member

@seokho-son seokho-son Aug 25, 2021

Choose a reason for hiding this comment

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

@computerphilosopher 좋은 방법이네요! ^^
해당 사항은 이번 PR 처리 후에,
신규 이슈 및 PR을 통해서 업데이트하면 더욱 좋을 것 같습니다. 어떠신가요?

Copy link
Member Author

Choose a reason for hiding this comment

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

@seokho-son

머지된 후 다시 이슈 만들겠습니다.

@@ -154,7 +154,7 @@ func DelResource(nsId string, resourceType string, resourceId string, forceFlag
}

//delete related recommend spec
err = DelRecommendSpec(nsId, resourceId, content.Num_vCPU, content.Mem_GiB, content.Storage_GiB)
err = DelRecommendSpec(nsId, resourceId, content.NumvCPU, content.MemGiB, content.StorageGiB)
Copy link
Member

Choose a reason for hiding this comment

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

NumvCPU vs. NumVCPU vs. something else? 😊

Comment on lines 59 to 86
OsType string `json:"os_type"`
NumvCPU uint16 `json:"num_vCPU"`
NumCore uint16 `json:"num_core"`
MemGiB uint16 `json:"mem_GiB"`
StorageGiB uint32 `json:"storage_GiB"`
Description string `json:"description"`
Cost_per_hour float32 `json:"cost_per_hour"`
Num_storage uint8 `json:"num_storage"`
Max_num_storage uint8 `json:"max_num_storage"`
Max_total_storage_TiB uint16 `json:"max_total_storage_TiB"`
Net_bw_Gbps uint16 `json:"net_bw_Gbps"`
Ebs_bw_Mbps uint32 `json:"ebs_bw_Mbps"`
Gpu_model string `json:"gpu_model"`
Num_gpu uint8 `json:"num_gpu"`
Gpumem_GiB uint16 `json:"gpumem_GiB"`
Gpu_p2p string `json:"gpu_p2p"`
CostPerHour float32 `json:"cost_per_hour"`
NumStorage uint8 `json:"num_storage"`
MaxNumStorage uint8 `json:"max_num_storage"`
MaxTotalStorageTiB uint16 `json:"max_total_storage_TiB"`
NetBwGbps uint16 `json:"net_bw_Gbps"`
EbsBwMbps uint32 `json:"ebs_bw_Mbps"`
GpuModel string `json:"gpu_model"`
NumGpu uint8 `json:"num_gpu"`
GpuMemGiB uint16 `json:"gpumem_GiB"`
GpuP2p string `json:"gpu_p2p"`
OrderInFilteredResult uint16 `json:"orderInFilteredResult"`
EvaluationStatus string `json:"evaluationStatus"`
EvaluationScore_01 float32 `json:"evaluationScore_01"`
EvaluationScore_02 float32 `json:"evaluationScore_02"`
EvaluationScore_03 float32 `json:"evaluationScore_03"`
EvaluationScore_04 float32 `json:"evaluationScore_04"`
EvaluationScore_05 float32 `json:"evaluationScore_05"`
EvaluationScore_06 float32 `json:"evaluationScore_06"`
EvaluationScore_07 float32 `json:"evaluationScore_07"`
EvaluationScore_08 float32 `json:"evaluationScore_08"`
EvaluationScore_09 float32 `json:"evaluationScore_09"`
EvaluationScore_10 float32 `json:"evaluationScore_10"`
EvaluationScore01 float32 `json:"evaluationScore_01"`
EvaluationScore02 float32 `json:"evaluationScore_02"`
EvaluationScore03 float32 `json:"evaluationScore_03"`
EvaluationScore04 float32 `json:"evaluationScore_04"`
EvaluationScore05 float32 `json:"evaluationScore_05"`
EvaluationScore06 float32 `json:"evaluationScore_06"`
EvaluationScore07 float32 `json:"evaluationScore_07"`
EvaluationScore08 float32 `json:"evaluationScore_08"`
EvaluationScore09 float32 `json:"evaluationScore_09"`
EvaluationScore10 float32 `json:"evaluationScore_10"`
Copy link
Member

Choose a reason for hiding this comment

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

(CC: @seokho-son )
Go 변수 이름과 JSON 필드 이름을 꼭 일치시켜야 하는 것은 아니지만,
현재 JSON 필드 쪽도 camelCase 와 snake_case 가 혼재되어 있기 때문에
camelCase 로 통일을 시키면 좋을 것 같습니다.
다만, 이렇게 하면 REST API에 변화가 생기기 때문에
CB-Ladybug, cb-webtool 도 CB-Tumblebug 변경사항에 대응해야 하며
CB-Tumblebug의 gRPC 코드도 업데이트가 필요할 것입니다. 😊

Copy link
Member

Choose a reason for hiding this comment

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

의견 감사합니다. 당연히 Go 변수 이름과 JSON 필드 이름에도 반영이 필요해 보입니다.

우선 해당 PR에서는 JSON 필드 업데이트 및 REST API 문서에 반영까지 요청해보면 어떨까 싶습니다. (변수명 컨벤션을 맞춘 다음)

API 변경이 다른 FW에 영향을 주는 부분은 어쩔 수 없는 부분인 것 같습니다.
이번 기회에 snakeCase는 모두 정리해보아요! :)

Copy link
Member

Choose a reason for hiding this comment

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

@jihoon-seo Go변수명과 Json 필드명을 완전히 같게 만드는 것은 어떻게 생각하시나요? 현재는 Go변수명은 첫글자를 대문자로 하고 있습니다.

@seokho-son
Copy link
Member

For discussion,

https://github.com/golang/go/wiki/CodeReviewComments#initialisms

Initialisms
Words in names that are initialisms or acronyms (e.g. "URL" or "NATO") have a consistent case.
For example, "URL" should appear as "URL" or "url" (as in "urlPony", or "URLPony"), never as "Url". As an example: ServeHTTP not ServeHttp. For identifiers with multiple initialized "words", use for example "xmlHTTPRequest" or "XMLHTTPRequest".

This rule also applies to "ID" when it is short for "identifier" (which is pretty much all cases when it's not the "id" as in "ego", "superego"), so write "appID" instead of "appId".

Code generated by the protocol buffer compiler is exempt from this rule. Human-written code is held to a higher standard than machine-written code.

https://github.com/golang/lint/blob/c5fb716d6688a859aae56d26d3e6070808df29f7/lint.go#L742

// commonInitialisms is a set of common initialisms.
// Only add entries that are highly unlikely to be non-initialisms.
// For instance, "ID" is fine (Freudian code is rare), but "AND" is not.
var commonInitialisms = map[string]bool{
"ACL": true,
"API": true,
"ASCII": true,
"CPU": true,
"CSS": true,
"DNS": true,
"EOF": true,
"GUID": true,
"HTML": true,
"HTTP": true,
"HTTPS": true,
"ID": true,
"IP": true,
"JSON": true,
"LHS": true,
"QPS": true,
"RAM": true,
"RHS": true,
"RPC": true,
"SLA": true,
"SMTP": true,
"SQL": true,
"SSH": true,
"TCP": true,
"TLS": true,
"TTL": true,
"UDP": true,
"UI": true,
"UID": true,
"UUID": true,
"URI": true,
"URL": true,
"UTF8": true,
"VM": true,
"XML": true,
"XMPP": true,
"XSRF": true,
"XSS": true,
}

@seokho-son
Copy link
Member

@computerphilosopher 아직 CB-TB에 네이밍 컨벤션이 아직 명확하지 않아서, PR 처리가 지연되고 있습니다.
몇 가지 사항에 대한 논의를 완료한 후에, 업데이트가 필요한 사항을 공유드리도록 하겠습니다!! ^^ 감사합니다.

논의 주요 포인트

  • VM, ID 등의 축약어가 포함된 변수명을 camelCase 에 적용 방법 (첫 대문자에 의해서 external로 간주되는 부분도 고려 필요)
  • Go struct JSON tag 변경 여부 (삭제, 변수명과 동일하게 등등)

참고: #689

//sqlQuery += " AND `evaluationScore_01`>=" + fmt.Sprintf("%.6f", filter.EvaluationScore_01.Min)
sqlQuery = sqlQuery.And("EvaluationScore_01 >= ?", filter.EvaluationScore_01.Min)
sqlQuery = sqlQuery.And("EvaluationScore_01 >= ?", filter.EvaluationScore01.Min)
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
sqlQuery = sqlQuery.And("EvaluationScore_01 >= ?", filter.EvaluationScore01.Min)
sqlQuery = sqlQuery.And("EvaluationScore01 >= ?", filter.EvaluationScore01.Min)

누락된 항목으로 보입니다.

//sqlQuery += " AND `evaluationScore_01`<=" + fmt.Sprintf("%.6f", filter.EvaluationScore_01.Max)
sqlQuery = sqlQuery.And("EvaluationScore_01 <= ?", filter.EvaluationScore_01.Max)
sqlQuery = sqlQuery.And("EvaluationScore_01 <= ?", filter.EvaluationScore01.Max)
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
sqlQuery = sqlQuery.And("EvaluationScore_01 <= ?", filter.EvaluationScore01.Max)
sqlQuery = sqlQuery.And("EvaluationScore01 <= ?", filter.EvaluationScore01.Max)

SQL 쿼리에 대한 String이라 반영이 되지 않은 모양이네요..^^

이하 유사 구문에서도 해당 사항 반영이 필요해 보입니다.
EvaluationScore_0X -> EvaluationScore0X

@@ -282,7 +282,7 @@ func RestDelAllMcis(c echo.Context) error {

type RestPostMcisRecommendResponse struct {
//VmReq []TbVmRecommendReq `json:"vmReq"`
Vm_recommend []mcis.TbVmRecommendInfo `json:"vm_recommend"`
VmRecommend []mcis.TbVmRecommendInfo `json:"vm_recommend"`
Copy link
Member

Choose a reason for hiding this comment

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

아래와 같은 스타일로 JSON tag 명칭도 유사하게 변경을 부탁 드립니다.
변수명에서 첫 글자만 소문자로 변경하여, json: xxx 를 업데이트 해주시면 되겠습니다.

Suggested change
VmRecommend []mcis.TbVmRecommendInfo `json:"vm_recommend"`
VmRecommend []mcis.TbVmRecommendInfo `json:"vmRecommend"`

@@ -454,7 +454,7 @@ type SshCmdResult struct { // Tumblebug

// AgentInstallContentWrapper ...
type AgentInstallContentWrapper struct {
Result_array []AgentInstallContent `json:"result_array"`
ResultArray []AgentInstallContent `json:"result_array"`
Copy link
Member

Choose a reason for hiding this comment

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

아래와 같은 스타일로 JSON tag 명칭도 유사하게 변경을 부탁 드립니다.
변수명에서 첫 글자만 소문자로 변경하여, json: xxx 를 업데이트 해주시면 되겠습니다.

Suggested change
ResultArray []AgentInstallContent `json:"result_array"`
ResultArray []AgentInstallContent `json:"resultArray"`

Comment on lines 59 to 63
OsType string `json:"os_type"`
NumvCPU uint16 `json:"num_vCPU"`
NumCore uint16 `json:"num_core"`
MemGiB uint16 `json:"mem_GiB"`
StorageGiB uint32 `json:"storage_GiB"`
Copy link
Member

Choose a reason for hiding this comment

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

아래와 같은 스타일로 JSON tag 명칭도 유사하게 변경을 부탁 드립니다.
변수명에서 첫 글자만 소문자로 변경하여, json: xxx 를 업데이트 해주시면 되겠습니다.

Suggested change
OsType string `json:"os_type"`
NumvCPU uint16 `json:"num_vCPU"`
NumCore uint16 `json:"num_core"`
MemGiB uint16 `json:"mem_GiB"`
StorageGiB uint32 `json:"storage_GiB"`
OsType string `json:"osType"`
NumvCPU uint16 `json:"numvCPU"`
NumCore uint16 `json:"numCore"`
MemGiB uint16 `json:"memGiB"`
StorageGiB uint32 `json:"storageGiB"`

Comment on lines 65 to 74
CostPerHour float32 `json:"cost_per_hour"`
NumStorage uint8 `json:"num_storage"`
MaxNumStorage uint8 `json:"max_num_storage"`
MaxTotalStorageTiB uint16 `json:"max_total_storage_TiB"`
NetBwGbps uint16 `json:"net_bw_Gbps"`
EbsBwMbps uint32 `json:"ebs_bw_Mbps"`
GpuModel string `json:"gpu_model"`
NumGpu uint8 `json:"num_gpu"`
GpuMemGiB uint16 `json:"gpumem_GiB"`
GpuP2p string `json:"gpu_p2p"`
Copy link
Member

Choose a reason for hiding this comment

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

아래와 같은 스타일로 JSON tag 명칭도 유사하게 변경을 부탁 드립니다.
변수명에서 첫 글자만 소문자로 변경하여, json: xxx 를 업데이트 해주시면 되겠습니다.

Suggested change
CostPerHour float32 `json:"cost_per_hour"`
NumStorage uint8 `json:"num_storage"`
MaxNumStorage uint8 `json:"max_num_storage"`
MaxTotalStorageTiB uint16 `json:"max_total_storage_TiB"`
NetBwGbps uint16 `json:"net_bw_Gbps"`
EbsBwMbps uint32 `json:"ebs_bw_Mbps"`
GpuModel string `json:"gpu_model"`
NumGpu uint8 `json:"num_gpu"`
GpuMemGiB uint16 `json:"gpumem_GiB"`
GpuP2p string `json:"gpu_p2p"`
CostPerHour float32 `json:"costPerHour"`
NumStorage uint8 `json:"numStorage"`
MaxNumStorage uint8 `json:"maxNumStorage"`
MaxTotalStorageTiB uint16 `json:"maxTotalStorageTiB"`
NetBwGbps uint16 `json:"netBwGbps"`
EbsBwMbps uint32 `json:"ebsBwMbps"`
GpuModel string `json:"gpuModel"`
NumGpu uint8 `json:"numGpu"`
GpuMemGiB uint16 `json:"gpuMemGiB"`
GpuP2p string `json:"gpuP2p"`

Comment on lines 720 to 746
OsType string `json:"os_type"`
NumvCPU Range `json:"num_vCPU"`
NumCore Range `json:"num_core"`
MemGiB Range `json:"mem_GiB"`
StorageGiB Range `json:"storage_GiB"`
Description string `json:"description"`
CostPerHour Range `json:"cost_per_hour"`
NumStorage Range `json:"num_storage"`
MaxNumStorage Range `json:"max_num_storage"`
MaxTotalStorageTiB Range `json:"max_total_storage_TiB"`
NetBwGbps Range `json:"net_bw_Gbps"`
EbsBwMbps Range `json:"ebs_bw_Mbps"`
GpuModel string `json:"gpu_model"`
NumGpu Range `json:"num_gpu"`
GpuMemGiB Range `json:"gpumem_GiB"`
GpuP2p string `json:"gpu_p2p"`
EvaluationStatus string `json:"evaluationStatus"`
EvaluationScore01 Range `json:"evaluationScore_01"`
EvaluationScore02 Range `json:"evaluationScore_02"`
EvaluationScore03 Range `json:"evaluationScore_03"`
EvaluationScore04 Range `json:"evaluationScore_04"`
EvaluationScore05 Range `json:"evaluationScore_05"`
EvaluationScore06 Range `json:"evaluationScore_06"`
EvaluationScore07 Range `json:"evaluationScore_07"`
EvaluationScore08 Range `json:"evaluationScore_08"`
EvaluationScore09 Range `json:"evaluationScore_09"`
EvaluationScore10 Range `json:"evaluationScore_10"`
Copy link
Member

Choose a reason for hiding this comment

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

아래와 같은 스타일로 JSON tag 명칭도 유사하게 변경을 부탁 드립니다.
변수명에서 첫 글자만 소문자로 변경하여, json: xxx 를 업데이트 해주시면 되겠습니다.

@seokho-son
Copy link
Member

@computerphilosopher
이번 PR에서는 3가지 사항에 대해서만 업데이트해보면 어떨까 싶습니다.

기타 참고:

  • EnvVariable 에 대한 개선은 차기 이슈 및 PR을 통해 해결하면 좋을 것 같습니다.
  • 변수 일관성 관련해서는 네이밍 컨벤션에 대한 논의를 진행 후에 다른 기여를 통해 업데이트하는 것이 좋을 것 같습니다.

@computerphilosopher
Copy link
Member Author

@seokho-son

확인했습니다. 주말 중으로 다시 커밋 하겠습니다.

하나의 커밋으로 Rebase 할까요?

@seokho-son
Copy link
Member

@computerphilosopher
일정 공유 감사합니다..^^

꼭 1개의 컷밋으로 스쿼싱할 필요는 없습니다. 히스토리 관리 차원에서, 구분했을 때 독자적으로 의미를 지니는 커밋들의 경우 나눠져 있어도 좋을 것 같습니다.
반대로, 리뷰를 반영하며 생기는 커밋은 (ex: xxxx-rev-1) 스쿼싱되면 좋습니다.

해당 PR은 2개의 커밋으로 나뉘면 좋을 것 같습니다.

  • (누락 관련 업데이트가 포함된) 기존 커밋
  • API 문서를 생성하며 변경된 파일들에 대한 추가 커밋

그러나~ 커밋 스쿼싱이 의무 사항은 아니므로 상황에 따라 처리해주시면 될 것 같습니다..^^

@computerphilosopher
Copy link
Member Author

computerphilosopher commented Aug 29, 2021

@seokho-son

다시 커밋하였습니다.

if orderBy == "num_vCPU" {

이 함수에서도 언더바를 빼야 하는지 헷갈리는데 API와 관련된 함수 같아서 우선 고치지 않았습니다.

@seokho-son
Copy link
Member

@seokho-son

다시 커밋하였습니다.

if orderBy == "num_vCPU" {

이 함수에서도 언더바를 빼야 하는지 헷갈리는데 API와 관련된 함수 같아서 우선 고치지 않았습니다.

네 ^^ 변수명뿐만 아니라 동일한 명칭을 가지고 있는 string 도 변경이 필요합니다.
이번 개선에 의해서 API의 파라미터들도 많이 수정될 예정입니다. 그래서 다소 리뷰 기간이 길어지는 점 양해 부탁드립니다..^^

해당 커밋을 기준으로 ~ 직접 내려 받아서 전체적으로 살펴보도록 하겠습니다. 감사합니다.

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.

Comment on lines 21 to 45
type SpiderVPCReqInfo struct { // Spider
Name string
IPv4_CIDR string
IPv4CIDR string
SubnetInfoList []SpiderSubnetReqInfo
//SubnetInfoList []SpiderSubnetInfo
}

type SpiderSubnetReqInfo struct { // Spider
Name string
IPv4_CIDR string
IPv4CIDR string
KeyValueList []common.KeyValue
}

type SpiderVPCInfo struct { // Spider
IId common.IID // {NameId, SystemId}
IPv4_CIDR string
IPv4CIDR string
SubnetInfoList []SpiderSubnetInfo
KeyValueList []common.KeyValue
}

type SpiderSubnetInfo struct { // Spider
IId common.IID // {NameId, SystemId}
IPv4_CIDR string
IPv4CIDR string
KeyValueList []common.KeyValue
}
Copy link
Member

Choose a reason for hiding this comment

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

@computerphilosopher
올려 주신 PR을 제 개발 환경에 받고, 테스트 스크립트를 돌려 보았습니다.
그랬더니, 동작 상 이슈가 있네요.. 🤔


Tumblebug이 CSP에 vNet을 생성하기 위하여 Spider의 REST API를 호출합니다.
이 때 (Spider의 REST API 호출 시), 여기에 있는 struct를 이용하여 JSON body를 만드는데,

Spider 쪽은 아직 IPv4_CIDR 필드로 입력받고 있으므로
(Spider 쪽 코드가 변경되기 전 까지는)
Tumblebug 코드도 다시 IPv4_CIDR 로 바꿔야 할 것 같습니다 😊

Copy link
Member

Choose a reason for hiding this comment

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

@computerphilosopher @jihoon-seo 해당 PR 은 마무리 차원에서 제가 직접 확인 및 수정하고 있습니다.
IPv4_CIDR 는 말씀하신대로 한시적으로 복구해두겠습니다. CB-TB nNet 생성 요구사항에 Spider의 struct를 직접 사용하고 있어서, CB-TB struct 로 재정의 하고 나서 정리하는 것이 좋을 것 같네요.
정리하는 것이 좋을 듯 하네요. (camelCase 의 Spider 까지 전파 여부는 잘 모르겠습니다..^^)

@seokho-son
Copy link
Member

@jihoon-seo @computerphilosopher 3개의 커밋을 추가하여 해당 PR을 보완하였습니다. (Maintainer 권한으로 업데이트)

[업데이트 사항]

  • Align strings with camelCased variables (8b4086d) : 일부 처리되지 않은 항목들 확인 및 업데이트 (+IPv4_CIDR 복구)
  • Align scripts with changed body params (a729b14) : 관련 스크립트 업데이트
  • Update api and docs with changed variables (c41209a) : API 변경 사항 업데이트 (REST & gRPC)

[테스트 사항]

  • mcis spec 검색 테스트 완료
  • mcis 생성 및 삭제 테스트 완료

./create-all.sh -n shson01 -f ../testSet-test.env

####################################################################
## 8. VM: Status MCIS
####################################################################
cb-shson01
{
  "status": {
    "id": "cb-shson01",
    "name": "cb-shson01",
    "status": "Running-2(2/2)",
    "targetStatus": "None",
    "targetAction": "None",
    "installMonAgent": "no",
    "masterVmId": "aws-ap-ne-2-0",
    "masterIp": "xxx",
    "masterSSHPort": "22",
    "vm": [
      {
        "id": "aws-ap-ne-2-0",
        "name": "aws-ap-ne-2-0",
        "cspVmId": "tb01-cb-shson01-aws-ap-ne-2-0",
        "status": "Running",
        "targetStatus": "None",
        "targetAction": "None",
        "nativeStatus": "Running",
        "monAgentStatus": "notInstalled",
        "systemMessage": "",
        "createdTime": "2021-08-31 15:13:45",
        "publicIp": "xx",
        "privateIp": "192.168.2.72",
        "sshPort": "22",
        "location": {
          "latitude": "37.3600",
          "longitude": "126.7800",
          "briefAddr": "Seoul",
          "cloudType": "aws",
          "nativeRegion": "ap-northeast-2"
        }
      },
      {
        "id": "gcp-as-east1-0",
        "name": "gcp-as-east1-0",
        "cspVmId": "tb01-cb-shson01-gcp-as-east1-0",
        "status": "Running",
        "targetStatus": "None",
        "targetAction": "None",
        "nativeStatus": "Running",
        "monAgentStatus": "notInstalled",
        "systemMessage": "",
        "createdTime": "2021-08-31 15:13:22",
        "publicIp": "xxx81",
        "privateIp": "192.168.3.2",
        "sshPort": "22",
        "location": {
          "latitude": "24.0756",
          "longitude": "120.5451",
          "briefAddr": "Changhua County  Taiwan",
          "cloudType": "gcp",
          "nativeRegion": "asia-east1"
        }
      }
    ]
  }
}

[DATE: 31/08/2021 15:13:46] [ElapsedTime: 48s (0m:48s)] [Command: ./create-mcis-only.sh all 1 shson01 ../testSet-test.env]

[Executed Command List]
[MCIR:aws-ap-northeast-2(23s)] create-mcir-ns-cloud.sh (MCIR) aws 1 shson01 ../testSet-test.env
[MCIR:gcp-asia-east1(79s)] create-mcir-ns-cloud.sh (MCIR) gcp 1 shson01 ../testSet-test.env
[MCIS:cb-shson01(47s+More)] create-mcis-only.sh (MCIS) all 1 shson01 ../testSet-test.env


[DATE: 31/08/2021 15:13:46] [ElapsedTime: 127s (2m:7s)] [Command: ./create-all.sh -n shson01 -f ../testSet-test.env]

@jihoon-seo jihoon-seo merged commit d4b8c36 into cloud-barista:main Aug 31, 2021
@seokho-son
Copy link
Member

@computerphilosopher 제안하신 내용이 main branch에 머지되었습니다! :0

개인적으로는 해당 사항이 코드를 보며 늘 신경쓰이던 부분이었습니다. (API를 변경하게 되는 사항이라 선뜻 손대지 못했던..)

기여해주신 덕분에 이번에 깔끔해졌네요^^ 감사합니다!

@seokho-son
Copy link
Member

@all-contributors please add @computerphilosopher for code

@allcontributors
Copy link
Contributor

@seokho-son

I've put up a pull request to add @computerphilosopher! 🎉

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.

4 participants