Skip to content

Commit 789d606

Browse files
authored
Merge pull request #1220 from innodreamer/master
[NHN Cloud] Use VPC ID instead of VPC Name to get the first Subnet ID, and Add Notice of Internet Gateway Setting
2 parents bf73df7 + e3b87f9 commit 789d606

File tree

2 files changed

+18
-10
lines changed

2 files changed

+18
-10
lines changed

cloud-control-manager/cloud-driver/drivers/nhncloud/README.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,11 +134,19 @@ ssh -i /private_key_파일_경로/private_key_파일명(~~.pem) cb-user@해당_V
134134
- (주의) 이와 같이, u2 type의 VMSpec으로 생성된 VM의 MyImage를 이용해 신규 VM을 생성할 경우, 그 신규 VM도 u2 type의 VMSpec을 이용해야함.
135135

136136
​O NHN Cloud에서 Windows VM instance 생성을 위한 제약 조건으로 아래의 사항을 공지함.
137-
- VM 생성시, Linux 계열 VM과 같이 KyePair를 지정해야하며, Windows VM 생성 완료 후 콘솔에서 그 KeyPair를 이용해서 default 미밀번호를 확인할 수 있음.
137+
- 비밀번호 적용 및 확인 방법으로, 본 드라이버를 이용해서 Windows 계정 VM 생성시 비밀번호를 지정하여 생성 가능하며, 사용자 계정은 'cb-user'로 생성됨을 주의해야함.(Administrator 계정은 생성 불가)
138+
- NHN Cloud에서 기본적으로 제공하는 방법으로서, Linux 계열 VM과 같이 VM 생성시 KyePair를 지정하고 Windows VM 생성 완료 후 콘솔에서 그 KeyPair를 이용해서 default 비밀번호를 확인할 수 있음.
138139
- RAM이 최소 2GB 이상인 VMSpec 사용해야함.
139140
- 50GB 이상의 루트 블록 스토리지 필요
140141
- U2 type의 VMSpec은 Windows image를 사용할 수 없음.
141142

143+
​O Public IP를 통해 외부에서 VM과 통신하기 위해서는 VPC의 routing table에 Internet Gateway를 연결 후 사용해야함.
144+
- REST API를 통해 Internet Gateway 정보 조회, 제어가 불가능하므로, VM의 public IP를 통해 외부 네트워크에서 VM에 접속하기 위해서 미리 콘솔에서 수작업으로 Internet Gateway를 생성하고 해당 VPC의 routing table에 연결해줘야함.
145+
- NHN Cloud 웹 콘솔에서는 Internet Gateway 정보 조회 및 제어 기능을 지원하지만, REST API는 미지원하므로 웹 콘솔 UI를 통해서만 Internet Gateway 조회, 제어 가능
146+
147+
![image](https://github.com/cloud-barista/cb-spider/assets/51111668/c5fc39cf-5a0e-4f10-89d7-0c80c655dd9e)
148+
149+
142150
​ O 본 드라이버를 통해 미국 region infra는 사용 불가
143151
- 현재 한국 : 2개 region X 2개 zone, 일본 : 1개 region X 2개 zone 지원
144152
- NHN Cloud에서 미국 region은 API endpoint를 제공하지 않으므로 미국 region은 console을 통해서만 사용 가능

cloud-control-manager/cloud-driver/drivers/nhncloud/resources/NLBHandler.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ func (nlbHandler *NhnCloudNLBHandler) CreateNLB(nlbReqInfo irs.NLBInfo) (irs.NLB
6868
return irs.NLBInfo{}, newErr
6969
}
7070

71-
subnetId, err := nlbHandler.getFirstSubnetIdWithVPCName(nlbReqInfo.VpcIID.NameId)
71+
subnetId, err := nlbHandler.getFirstSubnetIdWithVPCId(nlbReqInfo.VpcIID.NameId)
7272
if err != nil {
7373
newErr := fmt.Errorf("Failed to Get FirstSubnetId with VPC Name. : [%s]", err)
7474
cblogger.Error(newErr.Error())
@@ -316,13 +316,13 @@ func (nlbHandler *NhnCloudNLBHandler) GetNLB(nlbIID irs.IID) (irs.NLBInfo, error
316316
if len(nlbList) > 0 {
317317
nlbInfo, err = nlbHandler.mappingNlbInfo(nlbList[0])
318318
if err != nil {
319-
newErr := fmt.Errorf("Failed to Get NLB Info from NHN NLB. : [%v]", err)
319+
newErr := fmt.Errorf("Failed to Get NLB Info from NHN Cloud. : [%v]", err)
320320
cblogger.Error(newErr.Error())
321321
LoggingError(callLogInfo, newErr)
322322
return irs.NLBInfo{}, newErr
323323
}
324324
} else {
325-
newErr := fmt.Errorf("Failed to Get Any NLB Info. with the NLB ID!!")
325+
newErr := fmt.Errorf("Failed to Get Any NLB Info with the NLB ID!!")
326326
cblogger.Error(newErr.Error())
327327
LoggingError(callLogInfo, newErr)
328328
return irs.NLBInfo{}, newErr
@@ -960,24 +960,24 @@ func (nlbHandler *NhnCloudNLBHandler) getListenerInfo(listenerId string) (irs.Li
960960
return listenerInfo, nil
961961
}
962962

963-
func (nlbHandler *NhnCloudNLBHandler) getFirstSubnetIdWithVPCName(vpcName string) (subnetId string, err error) {
963+
func (nlbHandler *NhnCloudNLBHandler) getFirstSubnetIdWithVPCId(vpcId string) (subnetId string, err error) {
964964
cblogger.Info("NHN Cloud Driver: called getFirstSubnetIdWithVPCName()")
965-
callLogInfo := getCallLogScheme(nlbHandler.RegionInfo.Region, "NETWORKLOADBALANCE", vpcName, "getFirstSubnetIdWithVPCName()")
965+
callLogInfo := getCallLogScheme(nlbHandler.RegionInfo.Region, "NETWORKLOADBALANCE", vpcId, "getFirstSubnetIdWithVPCName()")
966966

967-
if strings.EqualFold(vpcName, "") {
968-
newErr := fmt.Errorf("Invalid VPC Name required")
967+
if strings.EqualFold(vpcId, "") {
968+
newErr := fmt.Errorf("Invalid VPC ID required!!")
969969
cblogger.Error(newErr.Error())
970970
LoggingError(callLogInfo, newErr)
971971
return "", newErr
972972
}
973973

974974
callLogStart := call.Start()
975975
listOpts := vpcs.ListOpts{
976-
Name: vpcName,
976+
ID: vpcId,
977977
}
978978
allPages, err := vpcs.List(nlbHandler.NetworkClient, listOpts).AllPages()
979979
if err != nil {
980-
newErr := fmt.Errorf("Failed to Get NHN VPC List with the Name : [%s]", vpcName)
980+
newErr := fmt.Errorf("Failed to Get NHN VPC Info with the ID : [%s]", vpcId)
981981
cblogger.Error(newErr.Error())
982982
LoggingError(callLogInfo, newErr)
983983
return "", newErr

0 commit comments

Comments
 (0)