6.13. 엣지 사이트에 등록하지 못한 OVN 컨트롤러 수정
- 문제
RHOSP(Red Hat OpenStack Platform) 에지 사이트의 OVN 컨트롤러는 등록할 수 없습니다.
참고이 오류는 이전 RHOSP 버전에서 업데이트한 RHOSP 16.1 ML2/OVN 배포에서 발생할 수 있습니다.RHOSP 16.1.7 이하 또는 RHOSP 16.2.0.
- 예제 오류
발생한 오류는 다음과 유사합니다.
2021-04-12T09:14:48.994Z|04754|ovsdb_idl|WARN|transaction error: {"details":"Transaction causes multiple rows in \"Encap\" table to have identical values (geneve and \"10.14.2.7\") for index on columns \"type\" and \"ip\". First row, with UUID 3973cad5-eb8a-4f29-85c3-c105d861c0e0, was inserted by this transaction. Second row, with UUID f06b71a8-4162-475b-8542-d27db3a9097a, existed in the database before this transaction and was not modified by the transaction.","error":"constraint violation"}
2021-04-12T09:14:48.994Z|04754|ovsdb_idl|WARN|transaction error: {"details":"Transaction causes multiple rows in \"Encap\" table to have identical values (geneve and \"10.14.2.7\") for index on columns \"type\" and \"ip\". First row, with UUID 3973cad5-eb8a-4f29-85c3-c105d861c0e0, was inserted by this transaction. Second row, with UUID f06b71a8-4162-475b-8542-d27db3a9097a, existed in the database before this transaction and was not modified by the transaction.","error":"constraint violation"}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 원인
-
ovn-controller
프로세스가 호스트 이름을 대체하는 경우 다른 encap 항목이 포함된 다른 섀시 항목을 등록합니다. 자세한 내용은 BZ#1948472 에서 참조하십시오. - 해결
다음 단계에 따라 문제를 해결합니다.Follow these steps to resolve the problem:
아직 없는 경우 이 절차의 뒷부분에서 사용할 필수 OVN 데이터베이스 명령에 대한 별칭을 생성합니다.
자세한 내용은 OVN 문제 해결 명령의 별칭 생성을 참조하십시오.
OVN 컨테이너에 액세스하는 데 필요한 권한이 있는 사용자로 컨트롤러 호스트에 로그인합니다.
예제
ssh heat-admin@controller-0.ctlplane
$ ssh heat-admin@controller-0.ctlplane
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
/var/log/containers/openvswitch/ovn-controller.log
에서 IP 주소를 가져옵니다. IP 주소가 올바른지 확인합니다.
ovn-sbctl list encap |grep -a3 <IP address from ovn-controller.log>
ovn-sbctl list encap |grep -a3 <IP address from ovn-controller.log>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow IP 주소가 포함된 섀시를 삭제합니다.
ovn-sbctl chassis-del <chassis-id>
ovn-sbctl chassis-del <chassis-id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Chassis_Private
테이블을 확인하여 섀시가 제거되었는지 확인합니다.ovn-sbctl find Chassis_private chassis="[]"
ovn-sbctl find Chassis_private chassis="[]"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 항목이 보고되면 다음 명령을 사용하여 해당 항목을 제거합니다.
ovn-sbctl destroy Chassis_Private <listed_id>
$ ovn-sbctl destroy Chassis_Private <listed_id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 컨테이너를 다시 시작합니다.
-
tripleo_ovn_controller
tripleo_ovn_metadata_agent
sudo systemctl restart tripleo_ovn_controller sudo systemctl restart tripleo_ovn_metadata_agent
$ sudo systemctl restart tripleo_ovn_controller $ sudo systemctl restart tripleo_ovn_metadata_agent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
검증
OVN 에이전트가 실행 중인지 확인합니다.
openstack network agent list -c "Agent Type" -c State -c Binary
$ openstack network agent list -c "Agent Type" -c State -c Binary
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 샘플 출력
Copy to Clipboard Copied! Toggle word wrap Toggle overflow