2017-03-15 1 views
0

방황하는 상자를 시작, 준비 및 파괴 할 수있는 나머지 API를 만들려고합니다. 지금까지 프로비저닝, 로그 분석, 프로비저닝 성공 여부 확인, vms 시작, 중지, 파괴, 로그 파싱 등의 쉬운 작업을 수행하여 포트가 충돌하고 재 매핑 된 시간을 확인했습니다.Vagrant에서 VM의 IP 주소를 프로그래밍 방식으로 얻습니다.

그러나, 나는 상자가 라우터의 DHCP에서받은 새로운 IP를 찾아 주위를 얻는 방법을 알아낼 수 없습니다. 내가

vagrant ssh -c ifconfig 

를 실행하고 IP 주소를 구문 분석하려고하지만 난 인터페이스 이름을 모르는 경우가 작동하지 않을 수 있습니다.

가 로컬 IP의 어떤 방랑 보고서가 할 수있는 방법이 있습니까? 양자 택일로 그렇지 않으면이 ip를 찾는 방법이 있습니까? 나는 방랑과 함께하지만, 심지어 쉘을 실행하는이 시점에서 파이썬 인터페이스 python-vagrant을 사용하고

은 허용 될 수 파이썬을 통해 명령.

감사

답변

1

당신은

Vagrant.configure('2') do |config| 
 
    config.vm.network :private_network, ip: '192.168.x.x' 
 
end

을 추가하여 임의의 하나를 얻는 대신에 특정 IP를 사용하도록 방랑을 말할 수있는 당신은 이미 Vagrant.configure 섹션을 가지고 있어야 이것은 정의한 특정 IP를 사용하여 상자를 제공합니다.

+0

이 스크립트가 다른 사용자의 VM 상자를 동적으로 생성한다고 가정하면; 이 방법은 안타깝게도 작동하지 않을 것입니다. –

+1

답변을 주셔서 감사합니다. 그렇지만 모든 IP 주소를 관리하고 DHCP에서 IP 범위를 예약해야합니다. 또한 하나 이상의 인터페이스가있는 VMS는 특별한 대우가 필요합니다. 몇 가지 연구를 한 후 최선의 해결책은 오픈 스택이나 감독 같은 것을 사용하는 것입니다. 바퀴를 재발 명할 이유가 없다. – ndp

관련 문제