puts "Missing bmcAddress value in site definition, can't determine baremetal network address"
exit 1
end
+baremetal_gw = IPAddr.new(baremetal_cidr).succ
$post_up_message = <<MSG
------------------------------------------------------
:libvirt__network_name => "#{site}-provisioning",
:type => 'dhcp'
- # IPMI control of machines is provided by vbmc on the host
+ # BMC control of machines is provided by sushy-emulator on the host
m.trigger.after [:up] do |trigger|
- trigger.name = 'Starting virtualbmc for IPMI network'
- trigger.run = {inline: "./tools/vagrant/start_vbmc.sh"}
+ trigger.name = 'Starting sushy for BMC network'
+ trigger.run = {inline: "./tools/vagrant/start_sushy.sh #{baremetal_gw}"}
end
m.trigger.after [:destroy] do |trigger|
- trigger.name = 'Stopping virtualbmc for IPMI network'
- trigger.run = {inline: "./tools/vagrant/stop_vbmc.sh"}
+ trigger.name = 'Stopping sushy for BMC network'
+ trigger.run = {inline: "./tools/vagrant/stop_sushy.sh #{baremetal_gw}"}
end
m.trigger.after [:up] do |trigger|
machine_name = values['machineName']
boot_mac_address = values['bootMACAddress']
bmc_port = URI.parse(values['bmcAddress']).port
+ uuid = URI.parse(values['bmcAddress']).path.split('/').last
config.vm.define machine_name do |m|
m.vm.hostname = machine_name
m.vm.provider :libvirt do |libvirt|
+ libvirt.uuid = "#{uuid}"
libvirt.graphics_ip = '0.0.0.0'
libvirt.default_prefix = "#{site}-"
libvirt.cpu_mode = 'host-passthrough'
m.vm.network :private_network,
:libvirt__network_name => "#{site}-baremetal",
:type => 'dhcp'
-
- # IPMI control
- m.trigger.after [:up] do |trigger|
- trigger.name = 'Adding machine to IPMI network'
- trigger.run = {inline: "./tools/vagrant/add_machine_to_vbmc.sh #{site} #{machine_name} #{bmc_port}"}
- end
- m.trigger.after [:destroy] do |trigger|
- trigger.name = 'Removing machine from IPMI network'
- trigger.run = {inline: "./tools/vagrant/remove_machine_from_vbmc.sh #{site} #{machine_name} #{bmc_port}"}
- end
-
- # Create configuration for ICN provisioning
- legacy_machine_args = "#{legacy_machine_args} #{machine_name} #{bmc_port}"
- m.trigger.after [:up] do |trigger|
- trigger.info = 'Creating nodes.json.sample describing the machines'
- trigger.run = {inline: "./tools/vagrant/create_nodes_json_sample.sh #{site} #{legacy_machine_args}"}
- end
- m.trigger.after [:up] do |trigger|
- trigger.info = 'Creating Provisioning resource describing the cluster'
- trigger.run = {inline: "./tools/vagrant/create_provisioning_cr.sh #{site} #{legacy_machine_args}"}
- end
end
end
end