Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[OpenStack:VM] Uncontrolled Floating IP #1439

Open
powerkimhub opened this issue Jan 24, 2025 · 1 comment
Open

[OpenStack:VM] Uncontrolled Floating IP #1439

powerkimhub opened this issue Jan 24, 2025 · 1 comment
Assignees
Labels
bug Something isn't working CloudDriver

Comments

@powerkimhub
Copy link
Member

@ish-hcc (@Jeongwoon )


  • VM Start 함수 로직에서
  • Floating IP 생성 후에 Association을 시도하는데,
  • 이때, 어떤 이유에서 Association이 timeout으로 실패하게 되면,

if curRetryCnt > maxRetryCnt {
cblogger.Errorf(fmt.Sprintf("failed to associate floating ip to vm, exceeded maximum retry count %d", maxRetryCnt))
return false, errors.New(fmt.Sprintf("failed to associate floating ip to vm, exceeded maximum retry count %d", maxRetryCnt))

  • 다음 defer가 돌게 되는데,

defer func() {
if createErr != nil {
cleanVMIId := irs.IID{
SystemId: server.ID,
}
cleanErr := vmHandler.vmCleaner(cleanVMIId)
if cleanErr != nil {
createErr = errors.New(fmt.Sprintf("%s Failed to rollback deleting err = %s", createErr, cleanErr))
}
}
}()

  • 다음 vmCleaner 처리 부분에서, server.PublicIP가 할당되지 못한 상태이어서, Floating IP가 삭제되지 못하고 있습니다.

  • 위와 같은 association 실패가 반복될 경우,
  • 아래처럼 uncontrol되는 floating IP는 쌓이고,
  • 결국 floating ip 부족 오류가 발생하고 있습니다.
  • 관련된 부분, 점검 부탁 드립니다.

Image

@powerkimhub powerkimhub added bug Something isn't working CloudDriver labels Jan 24, 2025
@powerkimhub
Copy link
Member Author

@ish-hcc

  • 최신 소스의 경우,

  • OpenStack도 Region 등록시 Zone 설정이 필요합니다.

  • 참고하시기 바랍니다.

  • BEFORE

curl -X POST http://$RESTSERVER:1024/spider/region \
-H 'Content-Type: application/json' \
-d '{
      "RegionName": "openstack-region01",
      "ProviderName": "OPENSTACK",
      "KeyValueInfoList": [
        {"Key": "Region", "Value": "RegionOne"}
      ]
}'
  • NOW
curl -X POST http://$RESTSERVER:1024/spider/region \
-H 'Content-Type: application/json' \
-d '{
      "RegionName": "openstack-region01",
      "ProviderName": "OPENSTACK",
      "KeyValueInfoList": [
        {"Key": "Region", "Value": "RegionOne"},
        {"Key": "Zone", "Value": "nova"}
      ]
}'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working CloudDriver
Projects
None yet
Development

No branches or pull requests

2 participants