Skip to content

Commit 4565da6

Browse files
committed
2 parents 8c74e1e + 0cc8b29 commit 4565da6

File tree

7 files changed

+369
-204
lines changed

7 files changed

+369
-204
lines changed

cloud-control-manager/cloud-driver/drivers/azure/resources/ClusterHandler.go

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1315,8 +1315,6 @@ func generateAgentPoolProfileProperties(nodeGroupInfo irs.NodeGroupInfo, subnet
13151315
nodeOSDiskSize = to.Int32Ptr(int32(osDiskSize))
13161316
}
13171317

1318-
targetZones := &[]string{ac.Region.Zone}
1319-
13201318
agentPoolProfileProperties := containerservice.ManagedClusterAgentPoolProfileProperties{
13211319
// Name: to.StringPtr(nodeGroupInfo.IId.NameId),
13221320
Count: to.Int32Ptr(int32(nodeGroupInfo.DesiredNodeSize)),
@@ -1328,12 +1326,16 @@ func generateAgentPoolProfileProperties(nodeGroupInfo irs.NodeGroupInfo, subnet
13281326
Type: containerservice.AgentPoolTypeVirtualMachineScaleSets,
13291327
MaxPods: to.Int32Ptr(maxPodCount),
13301328
Mode: containerservice.AgentPoolModeSystem, // User? System?
1331-
AvailabilityZones: targetZones,
13321329
EnableNodePublicIP: to.BoolPtr(true),
13331330
EnableAutoScaling: to.BoolPtr(nodeGroupInfo.OnAutoScaling),
13341331
// MinCount가 있으려면 true 여야함
13351332
VnetSubnetID: subnet.ID,
13361333
}
1334+
1335+
if !strings.EqualFold(ac.Region.Zone, "") {
1336+
agentPoolProfileProperties.AvailabilityZones = &[]string{ac.Region.Zone}
1337+
}
1338+
13371339
return agentPoolProfileProperties, nil
13381340
}
13391341

@@ -1350,8 +1352,6 @@ func generateAgentPoolProfile(nodeGroupInfo irs.NodeGroupInfo, subnet network.Su
13501352
nodeOSDiskSize = to.Int32Ptr(int32(osDiskSize))
13511353
}
13521354

1353-
targetZones := &[]string{ac.Region.Zone}
1354-
13551355
agentPoolProfile := containerservice.ManagedClusterAgentPoolProfile{
13561356
Name: to.StringPtr(nodeGroupInfo.IId.NameId),
13571357
Count: to.Int32Ptr(int32(nodeGroupInfo.DesiredNodeSize)),
@@ -1363,7 +1363,6 @@ func generateAgentPoolProfile(nodeGroupInfo irs.NodeGroupInfo, subnet network.Su
13631363
Type: containerservice.AgentPoolTypeVirtualMachineScaleSets,
13641364
MaxPods: to.Int32Ptr(maxPodCount),
13651365
Mode: containerservice.AgentPoolModeSystem, // User? System?
1366-
AvailabilityZones: targetZones,
13671366
EnableNodePublicIP: to.BoolPtr(true),
13681367
EnableAutoScaling: to.BoolPtr(nodeGroupInfo.OnAutoScaling),
13691368
// MinCount가 있으려면 true 여야함
@@ -1373,6 +1372,11 @@ func generateAgentPoolProfile(nodeGroupInfo irs.NodeGroupInfo, subnet network.Su
13731372
agentPoolProfile.MinCount = nil
13741373
agentPoolProfile.MaxCount = nil
13751374
}
1375+
1376+
if !strings.EqualFold(ac.Region.Zone, "") {
1377+
agentPoolProfile.AvailabilityZones = &[]string{ac.Region.Zone}
1378+
}
1379+
13761380
return agentPoolProfile, nil
13771381
}
13781382

cloud-control-manager/cloud-driver/drivers/ncp/connect/NcpCloudConnection.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ func (cloudConn *NcpCloudConnection) CreatePriceInfoHandler() (irs.PriceInfoHand
137137
func (cloudConn *NcpCloudConnection) CreateTagHandler() (irs.TagHandler, error) {
138138
cblogger.Info("NCP Cloud Driver: called CreateTagHandler()!")
139139

140-
tagHandler := ncprs.NcpTagHandler{cloudConn.CredentialInfo, cloudConn.RegionInfo, cloudConn.VmClient}
140+
tagHandler := ncprs.NcpTagHandler{cloudConn.RegionInfo, cloudConn.VmClient}
141141
return &tagHandler, nil
142142
}
143143

cloud-control-manager/cloud-driver/drivers/ncp/main/Test_TagHandler.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,8 @@ func handleTag() {
6565

6666
rsIId := irs.IID{
6767
NameId: "MyVM-1",
68-
SystemId: "25453063",
68+
// SystemId: "25504672",
69+
SystemId: "25927580",
6970
}
7071

7172
tagKV := irs.KeyValue{
@@ -75,7 +76,7 @@ func handleTag() {
7576

7677
tagKey := "VPCNameTest"
7778

78-
keyword := "VPC"
79+
keyword := "vpc"
7980

8081
inputCnt, err := fmt.Scan(&commandNum)
8182
if err != nil {

cloud-control-manager/cloud-driver/drivers/ncp/main/Test_VMHandler.go

Lines changed: 88 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ func handleVM() {
6868
fmt.Println("============================================================================================")
6969

7070
//config := readConfigFile()
71-
VmID := irs.IID{SystemId: "19313606"}
71+
VmID := irs.IID{SystemId: "25504672"}
7272

7373
var commandNum int
7474
inputCnt, err := fmt.Scan(&commandNum)
@@ -77,97 +77,111 @@ func handleVM() {
7777
panic(err)
7878
}
7979

80-
if inputCnt == 1 {
81-
switch commandNum {
82-
case 0:
83-
return
80+
vmReqInfo := irs.VMReqInfo{
81+
// ImageType: irs.MyImage,
82+
ImageType: irs.PublicImage,
8483

85-
case 1:
86-
vmReqInfo := irs.VMReqInfo{
87-
// ImageType: irs.MyImage,
88-
ImageType: irs.PublicImage,
84+
// # NCP에서는 VM instance 이름에 대문자 허용 안되므로 VMHandler 내부에서 소문자로 변환되어 반영됨.
85+
// Caution!! : Under bar 문자 허용 안됨.
86+
IId: irs.IID{NameId: "ncp-test-vm-10"},
8987

90-
// # NCP에서는 VM instance 이름에 대문자 허용 안되므로 VMHandler 내부에서 소문자로 변환되어 반영됨.
91-
// Caution!! : Under bar 문자 허용 안됨.
92-
IId: irs.IID{NameId: "ncp-test-vm-007"},
88+
// Caution!!) /home/sean/go/src/github.com/cloud-barista/ncp/ncp/main/config/config.yaml 에서 해당 region을 설정해야 그 region에 VM이 생성됨.
9389

94-
// Caution!!) /home/sean/go/src/github.com/cloud-barista/ncp/ncp/main/config/config.yaml 에서 해당 region을 설정해야 그 region에 VM이 생성됨.
90+
//(참고) When Region is 'DEN'.
91+
//VMSpec := "SPSVRSTAND000063" vCPU 8EA, Memory 64GB, [SSD]Disk 50GB",
92+
//Image ID : SPSW0LINUX000031
9593

96-
//(참고) When Region is 'DEN'.
97-
//VMSpec := "SPSVRSTAND000063" vCPU 8EA, Memory 64GB, [SSD]Disk 50GB",
98-
//Image ID : SPSW0LINUX000031
94+
// KR
95+
// ImageIID: irs.IID{NameId: "Ubuntu Server 18.04 (64-bit)", SystemId: "SPSW0LINUX000130"}, // $$$ PublicImage $$$
96+
// VMSpecName: "SPSVRSTAND000006",
9997

100-
// KR
101-
ImageIID: irs.IID{NameId: "Ubuntu Server 18.04 (64-bit)", SystemId: "SPSW0LINUX000130"}, // $$$ PublicImage $$$
102-
VMSpecName: "SPSVRSTAND000073",
98+
// KR
99+
ImageIID: irs.IID{NameId: "CentOS 7.8 (64-bit)", SystemId: "SPSW0LINUX000139"}, // $$$ PublicImage $$$
100+
VMSpecName: "SPSVRSTAND000005",
103101

104-
// KR
105-
// ImageIID: irs.IID{NameId: "Windows Server 2012 (64bit) R2 English Edition", SystemId: "SPSW0WINNTEN0015A"},
106-
// VMSpecName: "SPSVRSTAND000005A",
102+
// KR
103+
// ImageIID: irs.IID{NameId: "Windows Server 2016 (64-bit) English Edition", SystemId: "SPSW0WINNTEN0016A"}, // $$$ PublicImage $$$
104+
// SPSW0WINNTEN0016A - 'Windows' Server 2016 (64-bit) English Edition
105+
// # VMSpecName: "SPSVRSSD00000005A" // 상기 win server와 호환
107106

108-
// KR
109-
// ImageIID: irs.IID{NameId: "Windows Server (64bit)", SystemId: "96215"}, // $$$ MyImage $$$
110-
// VMSpecName: "SPSVRSTAND000005A",
107+
// KR
108+
// ImageIID: irs.IID{NameId: "Windows Server 2012 (64bit) R2 English Edition", SystemId: "SPSW0WINNTEN0015A"},
109+
// VMSpecName: "SPSVRSTAND000005A",
111110

112-
// USWN
113-
//ImageIID: irs.IID{NameId: "Ubuntu Server 18.04 (64-bit)", SystemId: "SPSW0LINUX000130"},
114-
//VMSpecName: "SPSVRSTAND000025",
111+
// KR
112+
// ImageIID: irs.IID{NameId: "Windows Server (64bit)", SystemId: "96215"}, // $$$ MyImage $$$
113+
// VMSpecName: "SPSVRSTAND000005A",
115114

116-
// USWN
117-
//ImageIID: irs.IID{NameId: "WordPress-Ubuntu-16.04-64", SystemId: "SPSW0LINUX000088"},
118-
//VMSpecName: "SPSVRSTAND000050",
115+
// USWN
116+
//ImageIID: irs.IID{NameId: "Ubuntu Server 18.04 (64-bit)", SystemId: "SPSW0LINUX000130"},
117+
//VMSpecName: "SPSVRSTAND000025",
119118

120-
// DEN :
121-
//ImageIID: irs.IID{NameId: "Ubuntu Server 18.04 (64-bit)", SystemId: "SPSW0LINUX000130"},
122-
//VMSpecName: "SPSVRSTAND000025",
119+
// USWN
120+
//ImageIID: irs.IID{NameId: "WordPress-Ubuntu-16.04-64", SystemId: "SPSW0LINUX000088"},
121+
//VMSpecName: "SPSVRSTAND000050",
123122

124-
// DEN :
125-
//ImageIID: irs.IID{NameId: "centOS-6.3-64", SystemId: "SPSW0LINUX000031"},
126-
//VMSpecName: "SPSVRSSD00000006",
123+
// DEN :
124+
//ImageIID: irs.IID{NameId: "Ubuntu Server 18.04 (64-bit)", SystemId: "SPSW0LINUX000130"},
125+
//VMSpecName: "SPSVRSTAND000025",
127126

128-
// JPN
129-
//ImageIID: irs.IID{NameId: "Ubuntu Server 18.04 (64-bit)", SystemId: "SPSW0LINUX000130"},
130-
//VMSpecName: "SPSVRSTAND000025",
127+
// DEN :
128+
//ImageIID: irs.IID{NameId: "centOS-6.3-64", SystemId: "SPSW0LINUX000031"},
129+
//VMSpecName: "SPSVRSSD00000006",
131130

132-
// SGN
133-
//ImageIID: irs.IID{NameId: "Ubuntu Server 18.04 (64-bit)", SystemId: "SPSW0LINUX000130"},
134-
//VMSpecName: "SPSVRSTAND000025",
131+
// JPN
132+
//ImageIID: irs.IID{NameId: "Ubuntu Server 18.04 (64-bit)", SystemId: "SPSW0LINUX000130"},
133+
//VMSpecName: "SPSVRSTAND000025",
135134

136-
// HK
137-
//ImageIID: irs.IID{NameId: "ubuntu-16.04", SystemId: "SPSW0LINUX000095"},
138-
//VMSpecName: "SPSVRSTAND000052",
135+
// SGN
136+
//ImageIID: irs.IID{NameId: "Ubuntu Server 18.04 (64-bit)", SystemId: "SPSW0LINUX000130"},
137+
//VMSpecName: "SPSVRSTAND000025",
139138

140-
KeyPairIID: irs.IID{SystemId: "NCP-keypair-06"},
141-
// KeyPairIID: irs.IID{SystemId: "ncp-key-0-cjheqe9jcupqtmoaa6bg"},
139+
// HK
140+
//ImageIID: irs.IID{NameId: "ubuntu-16.04", SystemId: "SPSW0LINUX000095"},
141+
//VMSpecName: "SPSVRSTAND000052",
142142

143-
// # NCP Classic 2세대 service에서 subnet, VPC 지정은 미지원
144-
VpcIID: irs.IID{SystemId: "vpc-01-cdn00lhjcupqjjlde1rg"},
145-
SubnetIID: irs.IID{SystemId: "subnet-01-cdn00lhjcupqjjlde1s0"},
143+
KeyPairIID: irs.IID{SystemId: "oh-keypai-cqccsj4vtts7hk9ghtmg"},
144+
// KeyPairIID: irs.IID{SystemId: "ncp-key-0-cjheqe9jcupqtmoaa6bg"},
146145

147-
// SecurityGroupIIDs 미지정시, NCP default 값으로서 "ncloud-default-acg"인 "293807이 적용됨.
148-
// SecurityGroupIIDs: []irs.IID{{SystemId: "293807"},{SystemId: "332703"}},
149-
SecurityGroupIIDs: []irs.IID{{SystemId: "1333707"}},
146+
// # NCP Classic 2세대 service에서 subnet, VPC 지정은 미지원
147+
VpcIID: irs.IID{SystemId: "oh-vpc-01-cqab15kvtts35l1k5c6g"},
148+
SubnetIID: irs.IID{SystemId: "oh-subnet-cqab15kvtts35l1k5c70"},
150149

151-
VMUserPasswd: "abcd000abcd",
152-
}
150+
// SecurityGroupIIDs 미지정시, NCP default 값으로서 "ncloud-default-acg"인 "293807이 적용됨.
151+
// SecurityGroupIIDs: []irs.IID{{SystemId: "293807"},{SystemId: "332703"}},
152+
SecurityGroupIIDs: []irs.IID{{SystemId: "1333707"}},
153153

154+
VMUserPasswd: "abcd000abcd",
155+
156+
TagList: []irs.KeyValue{
157+
{ Key: "aaa", Value: "aaaAAAAA"},
158+
{ Key: "ccc", Value: "cccCCCCC"},
159+
},
160+
}
161+
162+
if inputCnt == 1 {
163+
switch commandNum {
164+
case 0:
165+
return
166+
167+
case 1:
154168
vmInfo, err := vmHandler.StartVM(vmReqInfo)
155169
if err != nil {
156170
//panic(err)
157171
cblogger.Error(err)
158172
} else {
159-
cblogger.Info("VM 생성 완료!!", vmInfo)
173+
cblogger.Info("Succeeded in VM Creation!!", vmInfo)
160174
spew.Dump(vmInfo)
161175
}
162176
cblogger.Info("\nCreateVM Test Finished")
163177

164178
case 2:
165179
vmInfo, err := vmHandler.GetVM(VmID)
166180
if err != nil {
167-
cblogger.Errorf("[%s] VM info. 조회 실패", VmID)
181+
cblogger.Errorf("[%s] Failed to Get VM info!!", VmID)
168182
cblogger.Error(err)
169183
} else {
170-
cblogger.Infof("[%s] VM info. 조회 결과", VmID)
184+
cblogger.Infof("[%s] Result : ", VmID)
171185
spew.Dump(vmInfo)
172186
}
173187
cblogger.Info("\nGetVM Test Finished")
@@ -176,65 +190,65 @@ func handleVM() {
176190
cblogger.Info("Start Suspend VM ...")
177191
result, err := vmHandler.SuspendVM(VmID)
178192
if err != nil {
179-
cblogger.Errorf("[%s] VM Suspend 실패 - [%s]", VmID, result)
193+
cblogger.Errorf("[%s] Failed to Suspend VM : [%s]", VmID, result)
180194
cblogger.Error(err)
181195
} else {
182-
cblogger.Infof("[%s] VM Suspend 실행 성공 - [%s]", VmID, result)
196+
cblogger.Infof("[%s] Succeeded in VM Suspend : [%s]", VmID, result)
183197
}
184198
cblogger.Info("\nSuspendVM Test Finished")
185199

186200
case 4:
187201
cblogger.Info("Start Resume VM ...")
188202
result, err := vmHandler.ResumeVM(VmID)
189203
if err != nil {
190-
cblogger.Errorf("[%s] VM Resume 실패 - [%s]", VmID, result)
204+
cblogger.Errorf("[%s] Failed to Resume VM : [%s]", VmID, result)
191205
cblogger.Error(err)
192206
} else {
193-
cblogger.Infof("[%s] VM Resume 실행 성공 - [%s]", VmID, result)
207+
cblogger.Infof("[%s] Succeeded in VM Resumme : [%s]", VmID, result)
194208
}
195209
cblogger.Info("\nResumeVM Test Finished")
196210

197211
case 5:
198212
cblogger.Info("Start Reboot VM ...")
199213
result, err := vmHandler.RebootVM(VmID)
200214
if err != nil {
201-
cblogger.Errorf("[%s] VM Reboot 실패 - [%s]", VmID, result)
215+
cblogger.Errorf("[%s] Failed to Reboot VM : [%s]", VmID, result)
202216
cblogger.Error(err)
203217
} else {
204-
cblogger.Infof("[%s] VM Reboot 실행 성공 - [%s]", VmID, result)
218+
cblogger.Infof("[%s] Succeeded in VM Reboot : [%s]", VmID, result)
205219
}
206220
cblogger.Info("\nRebootVM Test Finished")
207221

208222
case 6:
209223
cblogger.Info("Start Terminate VM ...")
210224
result, err := vmHandler.TerminateVM(VmID)
211225
if err != nil {
212-
cblogger.Errorf("[%s] VM Terminate 실패 - [%s]", VmID, result)
226+
cblogger.Errorf("[%s] Failed to Terminate VM : [%s]", VmID, result)
213227
cblogger.Error(err)
214228
} else {
215-
cblogger.Infof("[%s] VM Terminate 실행 성공 - [%s]", VmID, result)
229+
cblogger.Infof("[%s] Succeeded in VM Terminate : [%s]", VmID, result)
216230
}
217231
cblogger.Info("\nTerminateVM Test Finished")
218232

219233
case 7:
220234
cblogger.Info("Start Get VM Status...")
221235
vmStatus, err := vmHandler.GetVMStatus(VmID)
222236
if err != nil {
223-
cblogger.Errorf("[%s] Get VM Status 실패", VmID)
237+
cblogger.Errorf("[%s] Failed to Get VM Status : ", VmID)
224238
cblogger.Error(err)
225239
} else {
226-
cblogger.Infof("[%s] Get VM Status 실행 성공 : [%s]", VmID, vmStatus)
240+
cblogger.Infof("[%s] Succeeded in Getting VM Status : [%s]", VmID, vmStatus)
227241
}
228242
cblogger.Info("\nGet VMStatus Test Finished")
229243

230244
case 8:
231245
cblogger.Info("Start ListVMStatus ...")
232246
vmStatusInfos, err := vmHandler.ListVMStatus()
233247
if err != nil {
234-
cblogger.Error("ListVMStatus 실패")
248+
cblogger.Error("Failed to List VMStatus")
235249
cblogger.Error(err)
236250
} else {
237-
cblogger.Info("ListVMStatus 실행 성공")
251+
cblogger.Info("Succeeded in Listing VMStatus")
238252
spew.Dump(vmStatusInfos)
239253
}
240254
cblogger.Info("\nListVM Status Test Finished")
@@ -243,13 +257,12 @@ func handleVM() {
243257
cblogger.Info("Start ListVM ...")
244258
vmList, err := vmHandler.ListVM()
245259
if err != nil {
246-
cblogger.Error("ListVM 실패")
260+
cblogger.Error("Failed to List VM")
247261
cblogger.Error(err)
248262
} else {
249-
cblogger.Info("ListVM 실행 성공")
250-
cblogger.Info("=========== VM 목록 ================")
263+
cblogger.Info("Succeeded in Listing VM")
251264
spew.Dump(vmList)
252-
cblogger.Infof("=========== VM 목록 수 : [%d] ================", len(vmList))
265+
cblogger.Infof("=========== Count VM : [%d] ================", len(vmList))
253266
if len(vmList) > 0 {
254267
VmID = vmList[0].IId
255268
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
source ../../../../../setup.env
2+
3+
go run Test_TagHandler.go

0 commit comments

Comments
 (0)