cloud-barista / cb-spider

CB-Spider offers a unified view and interface for multi-cloud management.
https://github.com/cloud-barista/cb-spider/wiki
Apache License 2.0
33 stars 47 forks source link

[NHN:PMKS] No error message when failing to create a cluster #1030

Closed sykim-etri closed 7 months ago

sykim-etri commented 10 months ago

What happened : 클러스터 생성을 요청하면 아무런 로그 없이 CB-TB에 500 Internal Server Error를 리턴하는 것으로 보입니다.(CB-TB 로그상) (콘솔을 통해서 유사한 스펙의 클러스터는 성공적으로 생성되는 것으로 볼때 계정의 권한 이슈는 아닌 것으로 파악됩니다.)

당시 CB-Spider와 CB-Tumblebug의 로그 내용은 다음과 같습니다.



STATUS       : 500 Internal Server Error
PROTO        : HTTP/1.1
RECEIVED AT  : 2024-01-31T04:55:01.11319803Z
TIME DURATION: 13.358536004s
HEADERS      :
        Content-Length: 36
        Content-Type: application/json; charset=UTF-8
        Date: Wed, 31 Jan 2024 04:55:01 GMT
        Vary: Origin
BODY         :
{
   "message": "Internal Server Error"
}

==============================================================================
[cb-network].[ERROR]: 2024-01-31 04:55:01 cluster.go:617, github.com/cloud-barista/cb-tumblebug/src/core/mcis.CreateCluster() - [Error from: http://localhost:1024/spider/cluster] Status code: 500 Internal Server Error, Message: {"message":"Internal Server Error"}

[cb-network].[ERROR]: 2024-01-31 04:55:01 cluster.go:55, github.com/cloud-barista/cb-tumblebug/src/api/rest/server/mcis.RestPostCluster() - [Error from: http://localhost:1024/spider/cluster] Status code: 500 Internal Server Error, Message: {"message":"Internal Server Error"}
```

**What you expected to happen**
: 클러스터 생성을 실패하는 경우 적절한 에러 로그를 출력하기를 기대합니다.

**How to reproduce it (as minimally and precisely as possible)**
: NHN 대상으로 클러스터 생성시 동일 증상 발생

**Anything else we need to know?**
: 

**Environment**
- Source version or branch: v0.8.1
- OS: 
- Others: 

**Proposed solution**
: 

**Any other context**
:
sykim-etri commented 10 months ago

몇가지 로그를 출력하도록 수정하여 확인한 결과 NHN REST API를 단순히 감싼 형태이기 때문에 HTTP 결과 코드에 대한 에러 처리를 하지 않고 있는 상황이며, 추후 해당 부분이 반영될 수 있도록 추가 개발이 필요한 상태입니다.

https://github.com/cloud-barista/cb-spider/blob/f4b3dfd48a914c05c93b60b2a04120c0c0d26e95/cloud-control-manager/cloud-driver/drivers/nhncloud/resources/nhn_rest_utils.go#L47-L69

[CB-SPIDER].[INFO]: 2024-01-31 08:14:07 ClusterHandler.go:36, github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/nhncloud/resources.(*NhnCloudClusterHandler).CreateCluster() - NHN Cloud Driver: called CreateCluster()
[CB-SPIDER].[INFO]: 2024-01-31 08:14:07 CommonNhnCloudFunc.go:63, github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/nhncloud/resources.GetCallLogScheme() - Call NHNCLOUD CreateCluster()
[CB-SPIDER].[INFO]: 2024-01-31 08:14:07 ClusterHandler.go:47, github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/nhncloud/resources.(*NhnCloudClusterHandler).CreateCluster() - ClusterInfoRequestJSON payload: {
                "cluster_template_id": "iaas_console",
                "create_timeout": 60,
                "fixed_network": "601ef43b-f75a-4ef8-b646-11e997814a9f",
                "fixed_subnet": "ba4ade5c-fd7f-43a8-86c5-142f21dd3161",
                "flavor_id": "m2.c4m8",
                "keypair": "ns01-nhncloud-kr-pangyo1-tb-cmst28i3egv8fmah2k7g",
                "labels": {
                        "availability_zone": "kr-pub-a",
                        "boot_volume_size": "default",
                        "boot_volume_type": "default",
                        "ca_enable": "true",
                        "ca_max_node_count": "1",
                        "ca_min_node_count": "1",
                        "cert_manager_api": "True",
                        "clusterautoscale": "nodegroupfeature",
                        "kube_tag": "1.24.3",
                        "master_lb_floating_ip_enabled": "False",
                        "node_image": "1213d033-bdf6-4d73-9763-4e8e57c745fb",
                        "user_script_v2": ""
                },
                "name": "ns01-tb111",
                "node_count": 1
        }
[CB-SPIDER].[INFO]: 2024-01-31 08:14:08 ClusterHandler.go:56, github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/nhncloud/resources.(*NhnCloudClusterHandler).CreateCluster() - response_json_str: {"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Unable to find flavor m2", "detail": "Unable to find flavor m2.c4m8.", "links": []}]}
[CB-SPIDER].[INFO]: 2024-01-31 08:14:08 ClusterHandler.go:57, github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/nhncloud/resources.(*NhnCloudClusterHandler).CreateCluster() - "CloudOS" : "NHNCLOUD", "RegionZone" : "KR1", "ResourceType" : "CLUSTER", "ResourceName" : "ns01-tb111", "CloudOSAPI" : "CreateCluster()", "ElapsedTime" : "1.8380", "ErrorMSG" : ""
sykim-etri commented 10 months ago

현 NHN-PMKS에서 활용하는 nhn_rest_utils.go 를 걷어내고 nhncloud-sdk-go를 활용할 예정입니다.

powerkimhub commented 10 months ago
innodreamer commented 10 months ago

@sykim-etri @powerkimhub 아직 구체적으로 확인하지는 못했지만, driver 개발할때의 경험상 NHN Cloud의 API 문서와 실제 테스트하면서 발생하는 issue들을 적용해가면서 보완이 필요할 것으로 예상됩니다.