вот чего я пытаюсь достичь
Причина, по которой мне нужен dhcp-сервер, заключается в том, что есть сервер logstash, работающий в бродячем поле на том же хост-компьютере, и все другие блоки, которые я вызываю с помощью бродяги, должны доставляться в этот экземпляр logstash, и, следовательно, я должен использовать имя хоста logstash.agilityroots.com
в каждом из них, вместо того, чтобы полагаться на жестко заданные IP-адреса для каждого из них.
Настройки сети только для хоста и DHCP находятся на Virtualbox следующим образом
Anadis-MacBook-Pro:bin anadi$ VBoxManage list -l hostonlyifs
Name: vboxnet0
GUID: 786f6276-656e-4074-8000-0a0027000000
DHCP: Disabled
IPAddress: 192.168.10.1
NetworkMask: 255.255.255.0
IPV6Address:
IPV6NetworkMaskPrefixLength: 0
HardwareAddress: 0a:00:27:00:00:00
MediumType: Ethernet
Status: Up
VBoxNetworkName: HostInterfaceNetworking-vboxnet0
Anadis-MacBook-Pro:bin anadi$ VBoxManage list -l dhcpservers
NetworkName: HostInterfaceNetworking-vboxnet0
IP: 192.168.56.100
NetworkMask: 255.255.255.0
lowerIPAddress: 192.168.56.101
upperIPAddress: 192.168.56.254
Enabled: Yes
вот бродячий файл
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.define "full-stack-env" do |dev|
dev.vm.box = "devops-vm"
dev.vm.hostname = "full-stack-env.agilityroots.com"
dev.vm.synced_folder "../../shared-data/yum", "/yum"
dev.vm.synced_folder "../../puppet-manifests/files", "/etc/puppet/files"
# add additional adapter for inter machine networking
dev.vm.network "private_network", type: "dhcp"
#dev.vm.network :private_network, :type => "dhcp", :adapter => "2"
dev.vm.network :forwarded_port, guest: 22,host: 4223, id: "ssh", auto_correct: true
#setting port forward for tomcat
dev.vm.network :forwarded_port, guest: 8080, host: 8090
#setting port forward for elasticsearch
dev.vm.network :forwarded_port, guest: 9200, host: 9200
dev.vm.provider :virtualbox do |vbox|
vbox.name = "full-stack-env"
end
dev.vm.provision :puppet do |puppet|
puppet.options = "--verbose --fileserverconfig=/vagrant/fileserver.conf"
puppet.module_path = "../../puppet-manifests/modules"
puppet.manifests_path = "../../puppet-manifests/dev-env"
puppet.manifest_file = "site.pp"
end
end
end
это вызывает ошибку
Anadis-MacBook-Pro:full-stack-env anadi$ vagrant up
Bringing machine 'full-stack-env' up with 'virtualbox' provider...
There are errors in the configuration of this machine. Please fix
the following errors and try again:
vm:
* An IP is required for a private network.
есть ли способ получить бродягу, используя сеть только хоста с включенным DHCP?
Это должно было быть исправлено в Vagrant 1.5.2 (выпуск). Итак, вы можете обновить или использовать символ:
dev.vm.network "private_network", type: :dhcp