Skip to content

Commit

Permalink
Fix demo scenario for VMware
Browse files Browse the repository at this point in the history
  • Loading branch information
StefanScherer committed Nov 21, 2016
1 parent 716d06f commit d6d7607
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 2 deletions.
8 changes: 6 additions & 2 deletions swarm-demo/Vagrantfile
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,14 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
vcloud.vapp_prefix = "windows-docker-swarm"
vcloud.ip_subnet = "192.168.36.1/255.255.255.0" # our test subnet with fixed IP adresses for everyone
override.vm.usable_port_range = 2200..2999
vcloud.memory = 2048
vcloud.cpus = 2
vcloud.memory = 8192
vcloud.cpus = 4
end

config.vm.define "registry" do |config|
config.vm.hostname = "registry"
config.vm.network :private_network, ip: "192.168.36.2", gateway: "192.168.36.1"
config.vm.provision "shell", path: "scripts/fix-second-network.ps1", privileged: false, args: "192.168.36.2"
config.vm.provision "shell", path: "scripts/run-registry.ps1", privileged: false
config.vm.provision "shell", path: "scripts/run-swarm-master.ps1", privileged: false
config.vm.provision "shell", path: "scripts/run-portainer.ps1", privileged: false
Expand All @@ -51,20 +52,23 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.define "sw-win-01" do |config|
config.vm.hostname = "sw-win-01"
config.vm.network :private_network, ip: "192.168.36.3", gateway: "192.168.36.1"
config.vm.provision "shell", path: "scripts/fix-second-network.ps1", privileged: false, args: "192.168.36.3"
config.vm.provision "shell", path: "scripts/add-registry.ps1", privileged: false
config.vm.provision "shell", path: "scripts/run-swarm-agent.ps1", privileged: false
end

config.vm.define "sw-win-02" do |config|
config.vm.hostname = "sw-win-02"
config.vm.network :private_network, ip: "192.168.36.4", gateway: "192.168.36.1"
config.vm.provision "shell", path: "scripts/fix-second-network.ps1", privileged: false, args: "192.168.36.4"
config.vm.provision "shell", path: "scripts/add-registry.ps1", privileged: false
config.vm.provision "shell", path: "scripts/run-swarm-agent.ps1", privileged: false
end

config.vm.define "sw-win-03" do |config|
config.vm.hostname = "sw-win-03"
config.vm.network :private_network, ip: "192.168.36.5", gateway: "192.168.36.1"
config.vm.provision "shell", path: "scripts/fix-second-network.ps1", privileged: false, args: "192.168.36.5"
config.vm.provision "shell", path: "scripts/add-registry.ps1", privileged: false
config.vm.provision "shell", path: "scripts/run-swarm-agent.ps1", privileged: false
end
Expand Down
34 changes: 34 additions & 0 deletions swarm-demo/scripts/fix-second-network.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
param ([String] $ip, [String] $dns)

if (Test-Path C:\Users\vagrant\enable-winrm-after-customization.bat) {
Write-Host "Nothing to do in vCloud."
exit 0
}
if (! (Test-Path 'C:\Program Files\VMware\VMware Tools')) {
Write-Host "Nothing to do for other providers than VMware."
exit 0
}

$subnet = $ip -replace "\.\d+$", ""

$name = (Get-NetIPAddress -AddressFamily IPv4 `
| Where-Object -FilterScript { ($_.IPAddress).StartsWith($subnet) } `
).InterfaceAlias

if (!$name) {
$name = (Get-NetIPAddress -AddressFamily IPv4 `
| Where-Object -FilterScript { ($_.IPAddress).StartsWith("169.254.") } `
).InterfaceAlias
}

if ($name) {
Write-Host "Set IP address to $ip of interface $name"
& netsh.exe int ip set address "$name" static $ip 255.255.255.0 "$subnet.1"

if ($dns) {
Write-Host "Set DNS server address to $dns of interface $name"
& netsh.exe interface ipv4 add dnsserver "$name" address=$dns index=1
}
} else {
Write-Error "Could not find a interface with subnet $subnet.xx"
}

0 comments on commit d6d7607

Please sign in to comment.