본문 바로가기

💻 개발/Terraform on NaverCloud20

멘토님 피드백 반영 (3) & 회고 마지막 멘토님 피드백 반영 및 오픈소스 활동에 대한 회고를 해보려고 한다. [원철 멘토님 피드백] 1) 폴더 및 파일명 cloudmssql → mssql 로 변경 2) sensitive 속성 함께 추가하기 & 패스워드 validation 조건에 backtick이 빠짐 참고 : https://github.com/dusdjhyeon/terraform-provider-ncloud/commit/ba1a9bd694b1e6fe5b2381239c87e5bf809f4583​ "user_password": { Type: schema.TypeString, Required: true, Sensitive: true, ValidateDiagFunc: validation.ToDiagFunc(validation.All( valid.. 2023. 12. 7.
멘토님 피드백 반영 (2) 멘토님들께서 계속해서 피드백을 주셨다. [원철 멘토님 피드백] 1) cloud_mssql.go에서 region_code attribute 삭제하기 2) IntDivisibleBy(1433) 대신 IntBetween(1433, 1433) 이나 IntInSlice([]int{ 1433}) 또는 validation 함수를 추가하는 형태로 변경 "port": { Type: schema.TypeInt, Optional: true, ValidateDiagFunc: validation.ToDiagFunc(validation.Any( //validation. validation.IntBetween(10000, 20000), validation.IntBetween(1433, 1433), // 변경 부분 )), Descr.. 2023. 12. 7.
멘토님 피드백 반영 (1) 최근에 MSSQL PR이 merge 되고, 이슈가 closed 되었다. 마지막으로 pr을 올린 뒤로, 멘토님들이 피드백을 해주셔서 해당 피드백들을 바탕으로 코드를 수정한 기록들을 올려보려고 한다. [의선 멘토님 피드백] 1) 스키마에 정의된 mirror_subnet_no 속성을 멀티존 여부 isMultiZone에 따라서 요청 파라미터에 포함시키기 (cloud_mssql.go) 참고 API 문서 : https://api.ncloud-docs.com/docs/database-vmssql-createcloudmssqlinstance 2) 입력 받을수 있는 옵션을 스키마에서 검증할 수 있음 현재 스펙상 HDD, SSD 두 개의 옵션을 받을 수 있는데 스키마에서 검증해주기 3) ValidateFunc 에서 Val.. 2023. 12. 7.
MSSQL 가이드 문서 pr 반영하기 가이드 문서를 좀 더 보완해주고 pr을 올렸다. comment도 같이 남겼다. 가이드 문서까지 작성하니, 개발을 실감했다. 나중에 반영되어서 terraform registry에 보여진다면 뿌듯할 것 같다 !! 2023. 9. 23.
MSSQL 가이드 문서 작성하기 영민 멘토님께서 가이드 문서 작성 요청을 해주셨다. docs/data-sources docs/resources 두 부분에 mssql.md를 추가하였다. 가이드 문서는 다른 리소스들의 가이드 문서를 참고하면서 작성하였다. 가이드 문서는 Example Usage, Argument Reference, Attributes Reference에 대해 작성하였다. Terraform Registry에서 가이드 문서를 볼 수 있다. Terraform Registry https://registry.terraform.io/providers/NaverCloudPlatform/ncloud/latest/docs 2023. 9. 21.
MSSQL 개발 코드 보완하기: data source data source 부분을 보완하기 위해 기존에 작성되었던 코드를 참고했다. nas volume을 참고하였다. 결과 비교 nas volume === RUN TestAccDataSourceNcloudNasVolume_vpc_basic d: &{map[custom_ip_list:0xc00037d900 description:0xc00037dcc0 filter:0xc00037d040 id:0xc00037c500 is_encrypted_volume:0xc000380000 is_event_configuration:0xc00037c780 is_return_protection:0xc000380140 is_snapshot_configuration:0xc00037c8c0 mount_information:0xc000380.. 2023. 9. 21.
MSSQL 개발하기 (2) & pr 올리기 이번에는 cloud_mssql_data_source 코드를 작성해보자. cloud_mssql_data_source.go는 cloud_mssql.go를 한 번 작성해보아서 인지, 쉽게 작성할 수 있었다. resource와 data sourec가 연관되어 있어서 인지, cloud_mssql_data_source에 대한 test를 해보면서, cloud_mssql 코드 및 go-sdk 코드도 수정을 하게 되었다. 작업 내용... 하루만에 끝난 작업이 아니기에, 생각날만한 부분 위주로 기록했다.. 2023-08-29T22:13:10.595+0900 [WARN] sdk.helper_resource: Error running Terraform CLI command: error= | exit status 1 | | E.. 2023. 9. 21.
MSSQL Test 하기 전에 작성했던, 코드들을 test 해보았다. 오류 error= | exit status 1 | | Error: Invalid resource type | | on terraform_plugin_test.tf line 3, in resource "ncloud_vpc" "test_vpc": | 3: \t\tresource "ncloud_vpc" "test_vpc" { | | The provider hashicorp/ncloud does not support resource type "ncloud_vpc". | | Error: Invalid resource type | | on terraform_plugin_test.tf line 7, in resource "ncloud_subnet" "test_subnet".. 2023. 9. 11.
MSSQL 개발하기 (1) 우선, cloud_mssql.go를 먼저 작성하기로 하였다. 2개의 API 문서를 참고하였다. ncloud API 문서 : https://api.ncloud-docs.com/docs/database-vmssql-createcloudmssqlslaveinstance github cloud API 문서 : https://github.com/NaverCloudPlatform/ncloud-sdk-go-v2/blob/master/services/vmssql/README.md [ResourceNcloudMssql] Schema 작성하기 - 우선 required parameter만 작성하기로 하였다. Schema: map[string]*schema.Schema{ }, required 인 것 1) vpc_no "vpc.. 2023. 9. 9.
SourcePipeline 살펴보기 (2) & pr 올리기 의선 멘토님의 피드백을 얻은 결과... 전체 테스트는 FAIL이 나타나는 대신, 개별 테스트에서는 각각의 테스트가 모두 통과가 된다는 사실을 알게 되었다 !! 추측을 해보기로는 코드를 보게 되면, 같은 이름의 sourcecommit_repository를 생성하기 때문에, 테스트를 할 때마다 리소스를 생성하고 삭제하는 시간이 있을 수 있을 것이라 생각이 되었다. 즉, 삭제가 잘 안되었는데, 다시 생성을 하려고 시도하는 과정에서 오류가 발생한다고 판단을 하게 되었다. 따라서, test 코드 간에 시간 간격을 두는 것에 대한 해결 방안을 생각하게 되었다. 해결 방안 테스트 사이에 1분의 시간 간격을 두고 전체 테스트를 진행하기 time.Sleep(1 * time.Minute) 결과 - 전체 테스트 통과 ---.. 2023. 8. 31.
이슈 선정 3 : MSSQL 리소스 개발하기 컨트리뷰션에 기여하고 싶은 세번째 이슈를 선정하였다. 깃헙 이슈 https://github.com/NaverCloudPlatform/terraform-provider-ncloud/issues/283 New or Affected Resource(s) Add a new Cloud Mssql Database resource in the VPC environment ncloud_cloud_mssql 참고 문서 API GUIDE Cloud DB for MSSQL (VPC) 개요 Cloud DB for Mssql(VPC) SDK-GO https://github.com/NaverCloudPlatform/ncloud-sdk-go-v2/blob/master/services/vmssql/README.md 본격적으로 개발하.. 2023. 8. 22.
SourcePipelineProject 살펴보기 (1) sourcepipeline_project_test.go를 실행해보니 실행 결과가 다음과 같이 나왔다. test 코드 실행결과를 보니 전체적으로 비슷하면서도 다른 느낌 같다는 느낌을 받았다. 요약 : 3곳에서 문제 발생 1) TestAccResourceNcloudSourcePipelineProject_classic_updateDescription 테스트 중에 오류가 발생, 오류 메시지 : SourceCommit 리포지토리를 찾을 수 없음 >> sourcepipeline_project_test.go의 89번째 줄 2) TestAccResourceNcloudSourcePipelineProject_vpc_basic 테스트 중에 오류가 발생, 오류 메시지 : SourceCommit 리포지토리를 찾을 수 없음 >>.. 2023. 8. 21.