cloud-barista / cb-ladybug

Cloud-Barista Multi-Cloud Application Runtime Framework : Support Multi-Cloud Kubernetes Service
Apache License 2.0
11 stars 11 forks source link

Empty mcis.VMs[*].Namespace/mcisName After mcis.POST() #157

Open sykim-etri opened 1 year ago

sykim-etri commented 1 year ago

What happened : CB-TB에서 subGroup을 제공함에 따라 Control Plane 생성시 이를 활용하도록 수정되었는데, 그러다보니 mcis.VMs[i].Namespace와 mcis.VMs[i].mcisName을 참조할 경우 비어 있는 경우가 발생합니다.

아래 코드에서 mcis.VMs[]를 하나만 생성하여 mcis.POST()를 호출했는데, mcis.VMs[]를 여러 개를 리턴받아서 그런 것으로 추정됩니다. https://github.com/cloud-barista/cb-mcks/blob/e290f075708ae0038064636e1052596229437cb3/src/core/service/cluster.go#L142-L145

https://github.com/cloud-barista/cb-mcks/blob/e290f075708ae0038064636e1052596229437cb3/src/core/tumblebug/mcis.go#L58-L60

임시로는 mcis.POST() 호출 후 mcis.VMs[i].Namespace와 McisName에 직접 값을 채워넣으면 해소할 수 있습니다만 적당한 방법은 아닌 것 같습니다.--;

    for i := 0; i < len(mcis.VMs); i++ {                                                                       
     mcis.VMs[i].Namespace = namespace                                                                        
     mcis.VMs[i].McisName = mcisName                                                                          
      if cluster.CpGroup == mcis.VMs[i].VmGroupId {                                                            
        provisioner.AppendControlPlaneMachine(mcis.VMs[i].Name, mcir.csp, mcir.region, mcir.zone, mcir.credential)
      }                                                                                                        
    }                                                                                                          

어떻게 해결하는 것이 좋은 방법일까요? 의견 부탁드립니다.

How to reproduce it (as minimally and precisely as possible) : 생성할 Control Plane의 수가 여러 개인 경우 항상 발생

Environment

seokho-son commented 1 year ago

지나가다가 질문드려봅니다.

mcis.VMs[i].Namespace와 mcis.VMs[i].mcisName을 참조할 경우

어떤 상황에서 이 정보가 필요하시게 되는지 궁금하네요.

보통 Namespace 를 알고서, mcis나 vm에 접근하게 되어서 (ns, mcis, vm의 구조상) 역으로 정보를 조회할 필요가 없을 것 같은데.. 음..

sykim-etri commented 1 year ago

현재 코드상 VM 객체 생성시 Namespace를 저장해두고 CB-TB에 VM 정보 조회시 활용하고 있습니다. 그런데 해당 정보가 없는 VM 객체가 존재하는 상황이 연출되고 있습니다.