본문 바로가기
  • 노션에서 삽질한 내용을 정리하는 블로그
자기발전소/# OpenStack

Magnum Trouble Shooting 2.

by iamlucia 2020. 10. 12.

🔫🔫🔫

 더 자세한 디버깅 시작 !  

 

stack 에서 계속 에러가 나니까 heat 관련 문제같은데 . .

 

Explore

heat stack 관련 로그 탐색 

# heat stack-list -n                    //deprecated 명령어 
# openstack stack resource list <stack명>
# openstack stack resource show <stack명> <stack의 resource명>

 

# heat stack-list -n 

 

# openstack stack resource list <stack명>

 

# openstack stack resource show <stack명> <stack의 resource명>

 

 

-

오픈스택 대쉬보드에서도 확인 가능한 stack resource 및  resource 

 

 

 

Trying  1)

heat  engine worker 상태 확인 및 추가 

 

타임아웃이라면,  제한된 인프라로도 더 많은 엔진을 돌려서 더 쉽게 생성할 수 있게 설정해야 할까?

 

/etc/heat/heat.conf 파일 내용 수정 (4 ->8)

 


Trying  2)

kubeminion yaml 파일 수정: signal_transport 값 변경

 

kube minion에서 wait condition signal을 제대로 전달하지 못한다? 

signal을 주고받는 리소스에 대한 탐색 필요

 

전달하는 signal방식이

디폴트 값으로 TOKEN_SIGNAL이 설정되어있다.

 

키스톤의 토큰으로 HEAT API 엔드포인트로 POST보내는 것이 지연되는 듯

아무 신호를 기다리지 않고 신호를 받은(signalled) 상태로 갈 수있게 

NO_SIGNAL로 설정하자.

 

signal_transport:
   constraints:
   - allowed_values: [CFN_SIGNAL, TEMP_URL_SIGNAL, HEAT_SIGNAL, NO_SIGNAL, ZAQAR_SIGNAL, TOKEN_SIGNAL]
   default: TOKEN_SIGNAL
   description: How the client will signal the wait condition. CFN_SIGNAL will allow an HTTP POST to a CFN keypair signed URL. TEMP_URL_SIGNAL will create a Swift TempURL to be signalled via HTTP PUT. HEAT_SIGNAL will allow calls to the Heat API resource-signal using the provided keystone credentials. ZAQAR_SIGNAL will create a dedicated zaqar queue to be signalled using the provided keystone credentials. TOKEN_SIGNAL will allow and HTTP POST to a Heat API endpoint with the provided keystone token. NO_SIGNAL will result in the resource going to a signalled state without waiting for any signal.
참고: Dashboard > Project > Orchestration > Resource Type >  OS::Heat::WaitConditionHandle > Properties 

 

# vi /usr/lib/python2.7/site-packages/magnum/drivers/k8s_fedora_atomic_v1/templates/kubeminion.yaml

resources:
   minion_wait_handle:
    properties: 
       signal_transport: NO_SIGNAL 

 

 

 

-

 Result  

minion 생성까지는 성공 떴다!

 

 

 

이제 오류가 나는 리소스는 OS::Heat::SoftwareDeployment 뿐 . . 


 

Trying  2)

kubeclusterdeploy timeout error를 해결하려면 ?

원래 값은 HEAT_SIGNAL로 되어있으나, "NO_SIGNAL"로 변경 

 

 

 

 

 Result 

cluster Create Completed Successfully!